MAGMA库:岩浆_dgemm和岩浆爆破_dgemm之间的区别

MAGMA library: difference between magma_dgemm and magmablas_dgemm

本文关键字:岩浆 dgemm 之间 区别 爆破 MAGMA      更新时间:2023-10-16

在最新的marma线性代数库(1.6.1版本)中,http://icl.cs.utk.edu/magma/software/,在执行dgemm功能的测试代码(源代码:testing_dgemm.cpp)中,有一个对函数magma_dgemmmagmablas_dgemm的调用。有人能澄清两者之间的区别吗?哪一个更通用(不局限于GPU)?

Wirawan

对源代码的检查表明,magmablas_Xgemm实际上是一个在GPU上启动适当gemm内核的C函数。因此magmablas_Xgemm是一个特定于GPU的例程。另一方面,magma_Xgemm旨在成为加速器无关例程,(目前)可用于GPU(NVIDIA/AMD,…)或MIC。

参考文件,相对于MAGMA源目录(CUDA版本):

./magmablas/dgemm_fermi.cu
./interface_cuda/blas_d.cpp

因此,基本上MAGMA包括gemm,既有封装cublasgemm的MAGMA_gemm,也有作为MAGMA开源实现的magmablas_*gemm。