我在thrust::device_vector<T>
内有一个矩阵(面向行)。有没有办法获得该向量的切片/视图(也可以是thrust::device_vector<T>
类型)?我对复制构造函数不感兴趣,因为它们会创建新的向量并使用内存。
所以基本上假设我们有一个向量thrust::device_vector<int> vec = {1,2,3,4,5,6}
我想thrust::device_vector<int> vec_view = vec.slice(2,4)
这是一个指向{3,4}
的视图。
需要批量运行某些计算,而我使用的方法只需要thrust:device_vector<T>
(没有迭代器等)。
答案 0 :(得分:1)
我知道没有办法做到这一点。
Thrust没有公开接受现有device_vector
的{{1}}构造函数。如果是这样的话,你可以实现你自己的device_pointer,它支持跨步访问或切片等。但是我不知道如何在不使用花哨的迭代器的情况下实现你想象的方法,显然这些方法不可行你的用例。