Thrust: Как создать device_vector из массива хоста?

Я получаю некоторые данные из библиотеки на хосте в виде указателя на массив. Как создать device_vector, который хранит эти данные на устройстве?

int* data;
int num;
get_data_from_library( &data, &num );

thrust::device_vector< int > iVec; // How to construct this from data?

Ответ 1

В соответствии с этим ответом все, что вам нужно, это:

int* data;
int num;
get_data_from_library( &data, &num );

thrust::device_vector< int > iVec(data, data+num);