Воткнутая библиотека - как написать обертку? - PullRequest
0 голосов
/ 08 августа 2011

У меня есть проект VS2010, написанный на C ++, и я хочу использовать функции thrust :: sort. Мои данные в настоящее время находятся в структуре POD (Обычная старая дата). Для работы подпрограмм thrust :: sort требуется векторный контейнер хоста и устройства. Какой самый простой способ связать мои данные POD для использования thrust :: sort?

Спасибо, Дейв

1 Ответ

1 голос
/ 08 августа 2011

На первой странице руководства пользователя Thrust приведен пример, позволяющий сделать именно это:

thrust::host_vector<int> hv = populate();        // make data on host

thrust::device_vector<int> dv(hv.begin(), hv.end()); // copy to device

thrust::sort(dv.begin(), dv.end());              // sort on device

thrust::copy(dv.begin(), dv.end(), hv.begin());  // copy back

Вместо int вы можете использовать собственную структуру POD и передать компаратор валгоритм сортировки.

...