Magma Gflops and Cublas Gflops

Open discussion for MAGMA library (Matrix Algebra on GPU and Multicore Architectures)
Post Reply
dianana
Posts: 1
Joined: Fri Jul 24, 2015 4:14 am

Magma Gflops and Cublas Gflops

Post by dianana » Fri Jul 24, 2015 4:23 am

Hi,
i was reading the code testing_dgemm.cpp to figure out how do you compute Magma Gflops and Cublas Gflops. I saw that there are two functions : magmablas_dgemm and cublasdgemm. i want to know more about the function magmablas_dgemm, is this the function that makes the hybrid computation on both CPU and GPU ? So if i am not wrong, then Magma Gflops refers to the performance of both "CPU and GPU" while computing matrix multiplication in an hybrid way using magmablas_dgemm, and the Cublas Glops refers to the performance of only one GPU while computing matrix multiplication using cublasdgemm. Is this true?

mgates3
Posts: 918
Joined: Fri Jan 06, 2012 2:13 pm

Re: Magma Gflops and Cublas Gflops

Post by mgates3 » Tue Aug 04, 2015 12:41 pm

magmablas_dgemm and cublasDgemm provide the same functionality -- a GPU dgemm that runs only on the GPU, not hybrid. magmablas_dgemm is our implementation, which originated several years ago for the Fermi architecture. cuBLAS later incorporated portions of that, so on Fermi cublas performance == our performance. For Kepler, cuBLAS has been further hand tuned, so on Kepler cublas performance > our performance. Therefore, in most cases we use the cublasDgemm, via our wrapper, magma_dgemm (different than magmablas_dgemm).

-mark

royalstream
Posts: 1
Joined: Wed Sep 09, 2015 5:07 pm

Re: Magma Gflops and Cublas Gflops

Post by royalstream » Wed Sep 09, 2015 5:19 pm

Thanks for this response. I've been looking for this answer all over the place.
I kept finding other posts saying MAGMA uses cuBLAS internally but they also presented benchmarks comparing the two. I'm new to MAGMA so this was rather confusing.
Turns out we have magmablas_dgemm and magma_dgemm. Now it makes perfect sense. (I was about to write some unnecessary code that does exactly what magma_dgemm does)
I'm writing this so this post appears more often in google searches.

Post Reply