|
thrust例子:stl_list与stl_vector与device_vector
- #include <thrust/device_vector.h>
- #include <thrust/copy.h>
- #include <list>
- #include <vector>
- //thrust例子:stl_list与stl_vector与device_vector
- int main(void)
- {
- //C ++标准库提供了一个链表list(std::list),它提供了双向(但不是随机访问)迭代器。
- //尽管Thrust不提供此类容器的设备实现,但它与它们兼容
- // create an STL list with 4 values
- std::list<int> stl_list;
- stl_list.push_back(10);
- stl_list.push_back(20);
- stl_list.push_back(30);
- stl_list.push_back(40);
- // 直接用list初始化一个设备向量D
- thrust::device_vector<int> D(stl_list.begin(), stl_list.end());
- // 拷贝一个设备向量 到 标准库的向量
- std::vector<int> stl_vector(D.size());
- thrust::copy(D.begin(), D.end(), stl_vector.begin());
- for(int i=0;i<stl_vector.size();i++){
- printf("stl_vector:%d\n", stl_vector[i]);
- }
- return 0;
- }
复制代码
|
|