次の方法で行列を処理する 4 つの CUDA カーネルがあります。
convolution<<<>>>(A,B);
multiplybyElement1<<<>>>(B);
multiplybyElement2<<<>>>(A);
multiplybyElement3<<<>>>(C);
// A + B + C with CUBLAS' cublasSaxpy
基本的にすべてのカーネル (最初の畳み込みを除く) は、定数メモリにハードコーディングされた固定値で行列の各要素の乗算を実行します (速度を上げるため)。
次のようなものを呼び出して、これらのカーネルを単一のカーネルに結合する必要がありますか
multiplyBbyX_AbyY_CbyZ<<<>>>(B,A,C)
?
グローバルメモリはすでにデバイス上にあるはずなので、おそらくそれは役に立たないでしょうが、完全にはわかりません