#include #include #include #include #include int main(void) { size_t N = 10; // create a device_ptr thrust::device_ptr dev_ptr = thrust::device_malloc(N); // extract raw pointer from device_ptr int * raw_ptr = thrust::raw_pointer_cast(dev_ptr); // use raw_ptr in CUDA API functions cudaMemset(raw_ptr, 0, N * sizeof(int)); // free memory thrust::device_free(dev_ptr); // we can use the same approach for device_vector thrust::device_vector d_vec(N); // note: d_vec.data() returns a device_ptr raw_ptr = thrust::raw_pointer_cast(d_vec.data()); return 0; }