推力矢量切片/视图

Thrust vector slice/view

本文关键字:视图 切片      更新时间:2023-10-16

我在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>(没有迭代器等(。

我知道没有

办法做到这一点。

推力不会公开接受现有device_pointerdevice_vector构造函数。如果是这种情况,您可能会实现自己的支持跨步访问或切片等的device_pointer。但是我不知道有什么方法可以在不求助于花哨的迭代器的情况下实现您的设想,显然这些对于您的用例是不可行的。