【发布时间】:2015-10-06 22:26:36
【问题描述】:
我有一个std::vector 不同大小的矩阵,我要计算每个矩阵的平方。我有两个解决方案:
1/ 展平我所有的矩阵,并将它们作为一个巨大的平面数组 (float *) 存储在设备中,其中包含该数组中每个矩阵的开始和结束索引,并使用 cublas 例如进行平方。
2/ 将矩阵存储在thrust::device_vector<float *> 中并使用thrust::for_each 将它们平方。
显然第二种解决方案提供了更易读的代码,但它会影响性能吗?
【问题讨论】:
-
您发布的代码对我来说编译得很好。您必须在扩展名为 .cu 的文件中使用 nvcc 编译推力 GPU 代码。除此之外,我不明白你的问题是什么
-
谢谢!我现在明白推力代码必须在 .cu 文件中,并且必须使用 nvcc 进行编译。我编辑了问题以使其更清楚。