【问题标题】:Thrust Vector pointer declaration推力向量指针声明
【发布时间】:2014-08-05 18:22:15
【问题描述】:

有没有办法在不实际分配向量的情况下声明推力向量指针?我需要将此指针用作类中的成员变量。由于事先并不知道向量的大小,因此无法将向量静态分配为成员变量。

【问题讨论】:

  • 矢量 *?这是你想要的吗?
  • 不。但它与我想要的相似,因为 Thrust 使用主机和设备(GPU)向量。

标签: c++ cuda thrust


【解决方案1】:

你可以使用:

#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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多