Ответ 1
Вы можете сделать это, используя thrust::raw_pointer_cast
. Класс вектора устройства имеет функцию-член data
, которая возвращает thrust::device_ptr
в память, хранящуюся в векторе, который может быть отличен, например:
thrust::device_vector<int> dv(10);
int * dv_ptr = thrust::raw_pointer_cast(dv.data());
kernel<<<bl,tpb>>>(dv_ptr)
(отказ от ответственности: написан в браузере, никогда не компилируется, никогда не тестировался). Существует полный рабочий пример этого, связанного с тягой: unwrap_pointer.cu