如果这不是微不足道的,请原谅我。cusp::csr_matrix<int,float,cusp::device_memory>
我有一个小班,像这样环绕:
class CuspMatrix
: public cusp::csr_matrix<int,float,cusp::device_memory>
{
...
}
到目前为止,我没有做任何我认为需要为设备编译的事情。但是我确实计划在这个特定的类中编写代码,作为一个成员/函数,应该在设备上执行,但是如果我理解正确,cusp
已经为我提供了这个功能?例如:
ValueType v_nrm2 = cusp::blas::nrm2(V);
cusp::transpose(M,M_t);
理想情况下,计算范数或转置应该为设备执行而编译。如果这是类方法的一部分,在这种情况下我该怎么办?
我是否制作*.hpp
类的整个头文件 a*.cu
并添加它以进行nvcc
编译?我是否仅在 a 中标记实际代码(而不是标头声明)*.cu
并将其添加以进行nvcc
编译?或者这些都没有必要?