OpenCL?

Open discussion for MAGMA

OpenCL?

Postby ST-Cyclone921R » Thu Aug 20, 2009 11:12 am

Hi,

I was like "super excited" about this project when i read about it in Linux Mag.'s article! but when I went through the specs, i found out that its written in CUDA, i was little bit disappointed since all my work is on ATi hardware -(for the radeon's "more interesting" architecture/performance)- and being educating myself about OpenCL heavily these days since am having my graduation project on GPGPU's; which I'm very interested in using MAGMA in. SO, with nVidia promoting OpenCL and OpenCL technically being a CUDA "alter-ego", is/would their be any plans for an OpenCL port?

Thanks alot!

Mohamed A. Sheikhaldeen
College of Information Technology
Department of Computer Engineering
University of Bahrain
ST-Cyclone921R
 
Posts: 1
Joined: Thu Aug 20, 2009 7:13 am

Re: OpenCL?

Postby Stan Tomov » Fri Aug 21, 2009 11:40 pm

That's an interesting post and I would be happy to see more people commenting on this. We have been thinking about portability issues in MAGMA and we have been monitoring the developments around OpenCL.

OpenCL is a standard that many have decided to support. This is great but in my opinion it will take time to develop software infrastructure for it. For example libraries, and in particular BLAS, are not yet available in OpenCL.

MAGMA is abstracted from low level GPU development by operating on "high" level - just using GPU libraries, in particular CUBLAS. Therefore, when BLAS becomes available in OpenCL it will be trivial to port MAGMA in OpenCL. We intend to do that.

I wouldn't expect OpenCL to become quickly popular in the high performance computing though. A reference BLAS implementation for example is portable across CPUs but can not be compared in performance to machine-specific optimizations, e.g. Intel's MKL, Atlas, Goto BLAS, etc, that have parts that are written in assembly, targeting the specifics of a particular machine. Similarly, it would be naive to expect that a reference OpenCL BLAS would have good performance across GPUs from different vendors, Cell, multicores, etc.

Still, it may be interesting to have a reference BLAS in OpenCL. I am wondering how the performances of a highly optimized CUDA BLAS code and its translation to OpenCL will compare (on the same hardware).

Regards,
Stan
Stan Tomov
 
Posts: 251
Joined: Fri Aug 21, 2009 10:39 pm

Re: OpenCL?

Postby braverock » Wed Sep 09, 2009 7:55 am

Stan Tomov wrote:That's an interesting post and I would be happy to see more people commenting on this.
<...>
OpenCL is a standard that many have decided to support. This is great but in my opinion it will take time to develop software infrastructure for it. For example libraries, and in particular BLAS, are not yet available in OpenCL.

MAGMA is abstracted from low level GPU development by operating on "high" level - just using GPU libraries, in particular CUBLAS. Therefore, when BLAS becomes available in OpenCL it will be trivial to port MAGMA in OpenCL. We intend to do that.

I wouldn't expect OpenCL to become quickly popular in the high performance computing though.
<...>


I am also very interested in OpenCL support in MAGMA, and more broadly in true hybrid architecture support in MAGMA. I know that this is in line with the stated goals of the project to support mixed multi-core and GPU architectures.

I think that Stan is absolutely correct when he suggests that it will take some time for standards to settle, implementations to emerge, and support to grow around those implementations. I think it is also true that just like with ATLAS and GotoBLAS, we will see multiple architectures needing support, maybe with similar API's, but certainly with architecture specific differences.

From a user perspective, I think it is most important that any library attempt to hide these architecture differences from the user. If MAGMA can continue to be linked with existing LAPACK implementations, taking over calculations where appropriate, users should see speedup in calculation without having to do extensive customization of existing code. While custom-crafted code is sometimes required, much of the promise of standardized BLAS libraries is that this is abstracted from userspace.

Regards,

- Brian
braverock
 
Posts: 1
Joined: Wed Sep 09, 2009 7:44 am


Return to User discussion

Who is online

Users browsing this forum: No registered users and 1 guest