【发布时间】:2014-08-05 18:22:15
【问题描述】:
有没有办法在不实际分配向量的情况下声明推力向量指针?我需要将此指针用作类中的成员变量。由于事先并不知道向量的大小,因此无法将向量静态分配为成员变量。
【问题讨论】:
-
矢量
*?这是你想要的吗? -
不。但它与我想要的相似,因为 Thrust 使用主机和设备(GPU)向量。
有没有办法在不实际分配向量的情况下声明推力向量指针?我需要将此指针用作类中的成员变量。由于事先并不知道向量的大小,因此无法将向量静态分配为成员变量。
【问题讨论】:
你可以使用:
#include <thrust/device_ptr.h>
#include <thrust/device_vector.h>
template <typename T>
class my_thrust_class
{
public:
thrust::device_ptr<T> my_dptr;
}
声明一个设备指针,然后可以将其初始化为您希望它引用的任何 device_vector 的开头:
thrust::device_vector<float> my_vec(3);
my_thrust_class<float> A;
A.my_dptr = my_vec.data();
【讨论】: