In the most recent magma linear algebra library (version 1.6.1), http://icl.cs.utk.edu/magma/software/ , in the testing code exercising dgemm functionality (source code: testing_dgemm.cpp), there was a call to functions magma_dgemm
and magmablas_dgemm
. Can someone clarify the difference between the two? Which one is more general (not tied to just GPU)?
Wirawan
An inspection of the source code reveals that magmablas_Xgemm
is actually a C function that launches an appropriate gemm
kernel on the GPU. Thus magmablas_Xgemm
is a GPU-specific routine. On the other hand, magma_Xgemm
is intended to be accelerator-agnostic routine that (currently) can be used for either GPU (NVIDIA/AMD, ...) or MIC.
Ref files, relative to MAGMA source directory (the CUDA edition):
./magmablas/dgemm_fermi.cu
./interface_cuda/blas_d.cpp
因此,基本上MAGMA包括gemm, 包裹cublas gemm的magma_ gemm和作为Magma的开源实现的magmablas_ * gemm。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.