Page 1 of 1

Looking for the SpMV GPU kernel implementing CSR-I

Posted: Fri Jun 19, 2020 11:19 am
by edgarfblack
Hi,

I wonder if the CSR-I GPU kernel has been implemented in Magma.

I am reading a 2017 paper "Balance CSR Sparse Matrix-Vector product on Graphics Processors" and the authors claim that their CSR-I algorithm will be available in a future version of magma.

If that is correct, how can I access to that algorithm.

Thanks in advance.

Re: Looking for the SpMV GPU kernel implementing CSR-I

Posted: Fri Jun 19, 2020 1:46 pm
by Stan Tomov
We haven't considered adding it. MAGMA has CSR5 storage and kernel optimized for it.

Re: Looking for the SpMV GPU kernel implementing CSR-I

Posted: Fri Jun 19, 2020 2:10 pm
by edgarfblack
Thanks for the answer.

One more question.

Is the current SmPV kernel in magma ( magma_d_spmv( ) ) based on the CSR kernel in the cudaSparse library or is it your own implementation?

Thanks.

Re: Looking for the SpMV GPU kernel implementing CSR-I

Posted: Fri Jun 19, 2020 3:49 pm
by Stan Tomov
The magma_d_spmv is a wrapper that is pre-tuned to call the "fastest" implementation (based on architecture, sizes, formats, etc.). You can take a look at it in file magma_d_blaswrapper.cpp. So, if the matrix is in CSR format for example, we currently call cuSparse.

Re: Looking for the SpMV GPU kernel implementing CSR-I

Posted: Fri Jun 19, 2020 3:52 pm
by edgarfblack
Thanks