简体   繁体   中英

MAGMA library: difference between magma_dgemm and magmablas_dgemm

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM