Page 1 of 1

Is MAGMA implemented in OpenCL?

Posted: Mon Aug 09, 2010 5:24 pm
by arcmag
Dear forum members,

I read with interest the paper "OpenCL Evaluation for Numerical Linear Algebra Library Development" by Peng Du, Piotr Luszczek and Jack Dongarra, where it is stated:
Therefore OpenCL is our choice of implementing a portable
numerical linear algebra library.
However I had the feeling that MAGMA is implemented using CUDA, not the OpenCL interface. Is that correct?

If so, is anybody in the process of porting to OpenCL the CUDA code?

It may be possible for me to collaborate.

Sincerely,
Anton

Re: Is MAGMA implemented in OpenCL?

Posted: Tue Aug 10, 2010 1:58 pm
by Stan Tomov
MAGMA indeed uses CUDA (and C/C++). The text you mentioned is from a student poster and
would have to be changed.

In general, OpenCL does not provide performance portability but coding algorithms in any other
language also does not provide performance portability across different hardware platforms.

A solution to overcome the performance portability problem (that we are concentrated on)
is autotuning, e.g., to have many parametrized versions of an algorithm and search for the best
one at installation time. Therefore, a first step on collaborating on this may be to collect best
versions of BLAS for various architectures of interest and port them to OpenCL (e.g., we have
BLAS written in CUDA). As MAGMA's performance relies on BLAS, having fast BLAS in OpenCL would
enable MAGMA to run fast on the various architectures of interest.

MAGMA is open source and we interested in collaborating on porting it to OpenCL.
Stan