我有一个用C ++编写的VS2010项目,想要使用thrust :: sort函数。我的数据目前处于POD(普通旧日期)结构中。 thrust :: sort例程需要主机和设备向量容器才能工作。什么是最简单的方法来连接我的POD数据以供thrust :: sort使用?
谢谢,戴夫
答案 0 :(得分:1)
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
您可以使用自己的POD结构代替int
,也可以将比较器传递给排序算法。