これが自明でない場合はご容赦ください。私は小さなクラスを持ってい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
クラスのヘッダー ファイル全体を作成し、コンパイル*.cu
用に追加する必要がありますか? nvcc
実際のコードのみを (ヘッダー宣言ではなく) マークして、コンパイル*.cu
用に追加しますか? nvcc
または、これは必要ありませんか?