私はCUDAが初めてで、cuBlasライブラリを使用してQR分解のギブンス回転を実装しようとしました。
使った
cublasStatus_t cublasSrotg(cublasHandle_t handle,
float *a, float *b,
float *c, float *s)
c と s を計算するため
cublasStatus_t cublasSrot (cublasHandle_t handle, int n,
float *x, int incx,
float *y, int incy,
const float *c, const float *s)
1000 x 1000 マトリックスの回転用。cublaSrotg() はパラメーター a と b を r と z で上書きするため、デバイス メモリ内の行列を使用できません。ただし、行列の要素をホストにコピーするには、ループのサイクルの約 90% を要します。C での実装は、最大 3 倍高速です。
私はそれを間違って使用していますか?CUDA デバイスでのギブンス回転のより良い代替手段は何ですか?
前もって感謝します、クリス