size_t N = 10; // raw pointer to device memory int * raw_ptr ; cudaMalloc (( void **) & raw_ptr , N * sizeof ( int )); // wrap raw pointer with a device_ptr thrust :: device_ptr <int > dev_ptr ( raw_ptr ); // use device_ptr in thrust algorithms thrust :: fill ( dev_ptr , dev_ptr + N, ( int ) 0);?
# include <thrust / device_vector .h> # include <thrust / copy .h> # include <list > # include <vector > int main ( void ) { // create an STL list with 4 values std :: list <int > stl_list ; stl_list . push_back (10) ; stl_list . push_back (20) ; stl_list . push_back (30) ; stl_list . push_back (40) ; // initialize a device_vector with the list thrust :: device_vector <int > D( stl_list . begin () , stl_list . end ()); // copy a device_vector into an STL vector std :: vector <int > stl_vector (D. size ()); thrust :: copy (D. begin () , D. end () , stl_vector . begin ()); return 0; }?