推力库-如何编写包装器

Thrust library - how to write a wrapper?

本文关键字:何编写 包装      更新时间:2023-10-16

我有一个用c++编写的VS2010项目,并想使用thrust::sort函数。我的数据目前在POD(普通旧日期)结构中。sort例程需要主机和设备向量容器才能工作。将我的POD数据接口以供thrust::sort使用的最简单方法是什么?

谢谢,戴夫

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,并且可以传递比较器给排序算法。