MAGMA and OpenCL
-
MySchizoBuddy
- Posts: 2
- Joined: Wed Jul 06, 2011 6:19 am
MAGMA and OpenCL
Is their a roadmap towards OpenCL support in MAGMA so i can use AMD graphics cards?
-
Stan Tomov
- Posts: 283
- Joined: Fri Aug 21, 2009 10:39 pm
Re: MAGMA and OpenCL
Yes, we are working on this but it will take time. Something to keep in mind is that although OpenCL can provide portability across platforms, one still has to develop different versions for different platforms (if performance portability is desired as well). Performance portability has been achieved in LAPACK (and MAGMA) by organizing the computation in terms of BLAS, and relying on architecture-specific, tuned BLAS implementations. As with LAPACK, a MAGMA OpenCL port would be easy if for example vendors provide optimized BLAS implementations.
-
MySchizoBuddy
- Posts: 2
- Joined: Wed Jul 06, 2011 6:19 am
Re: MAGMA and OpenCL
AMD provides optimized BLAS and LAPACK as part of it's AMD Core Math Library
Just found out AMD also provides BLAS in OPenCL using AMD Accelerated Parallel Processing Math Libraries
Just found out AMD also provides BLAS in OPenCL using AMD Accelerated Parallel Processing Math Libraries
Re: MAGMA and OpenCL
You may want to have a look at the ViennaCL project (http://viennacl.sourceforge.net/): they provide a complete, efficient BLAS implementation (up to level 3), plus some additional goodies. The only catch is that it is in C++, so that may pose you some more (minor) problems in calling it from MAGMA, with respect to e.g. cublas, i.e. you would have to wrap your data in viennacl objects. Worth investigating?Stan Tomov wrote:As with LAPACK, a MAGMA OpenCL port would be easy if for example vendors provide optimized BLAS implementations.
Re: MAGMA and OpenCL
I'm curious if there has been any progress on this front (getting MAGMA coded for OpenCL). There is the trick of having supported BLAS routines but fortunately at least AMD is on the ball with their APPML libraries. I am looking to use MAGMA to highlight some comparisons across different GPU configurations and unfortunately CUDA is still an NVIDIA-only language.