Spaces:
Runtime error
Runtime error
int main(void) | |
{ | |
size_t N = 10; | |
// create a device_ptr | |
thrust::device_ptr<int> dev_ptr = thrust::device_malloc<int>(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<int> d_vec(N); | |
// note: d_vec.data() returns a device_ptr | |
raw_ptr = thrust::raw_pointer_cast(d_vec.data()); | |
return 0; | |
} | |