最新のマグマ線形代数ライブラリ (バージョン 1.6.1)、http ://icl.cs.utk.edu/magma/software/ では、dgemm 機能を実行するテスト コード (ソース コード: testing_dgemm.cpp) に、関数magma_dgemm
との呼び出しmagmablas_dgemm
。誰かが2つの違いを明確にできますか? どちらがより一般的ですか (GPU だけに縛られていません)?
ウィラワン
ソース コードを調べると、magmablas_Xgemm
実際gemm
には GPU で適切なカーネルを起動する C 関数であることがわかります。したがって、GPU 固有のルーチンですmagmablas_Xgemm
。一方、magma_Xgemm
(現在) GPU (NVIDIA/AMD など) または MIC のいずれかに使用できる、アクセラレータに依存しないルーチンを意図しています。
MAGMA ソース ディレクトリ (CUDA エディション) に関連する参照ファイル:
./magmablas/dgemm_fermi.cu
./interface_cuda/blas_d.cpp
したがって、基本的に MAGMA には、cublas gemm をラップする magma_gemmと、マグマのオープンソース実装である magmablas_*gemm の両方の gemm が含まれます。