clMAGMA 0.1 Beta Released

Open discussion for MAGMA

clMAGMA 0.1 Beta Released

Postby admin » Wed Apr 04, 2012 12:19 pm

clMAGMA 0.1 Beta is now available. This release provides OpenCL implementations for MAGMA's one-sided dense matrix factorizations (LU, QR, and Cholesky), and thus extending MAGMA's support to include AMD GPUs. Sample performance results on AMD Tahiti GPU are illustrated on the figures below.

Image

Image

Image


Download the source here:
http://icl.cs.utk.edu/projectsfiles/magma/cl/clMAGMA_0.0.1.tar.gz
admin
Site Admin
 
Posts: 18
Joined: Tue Aug 04, 2009 12:23 pm

Re: clMAGMA 0.1 Beta Released

Postby fletchjp » Wed May 02, 2012 9:36 am

Is this only single precision in this release? Is there a plan for a release in double precision?

John
fletchjp
 
Posts: 170
Joined: Mon Dec 27, 2010 7:29 pm

Re: clMAGMA 0.1 Beta Released

Postby wazoo42 » Wed May 02, 2012 2:28 pm

Looking at their overview page it would seem that double precision is available as well.

http://icl.cs.utk.edu/magma/software/index.html
wazoo42
 
Posts: 2
Joined: Wed May 02, 2012 2:27 pm

Re: clMAGMA 0.1 Beta Released

Postby wazoo42 » Wed May 02, 2012 2:29 pm

Looking at their overview page it seems that double precision is available as well. I'm interested to see what those benchmark results.

http://icl.cs.utk.edu/magma/software/index.html
wazoo42
 
Posts: 2
Joined: Wed May 02, 2012 2:27 pm

Re: clMAGMA 0.1 Beta Released

Postby mgates3 » Wed May 02, 2012 3:14 pm

All four precisions (single, double, single complex, double complex) are available in clMAGMA for QR and Cholesky. However, LU factorization is currently only in single precision. We intend to add support for other precisions but don't have a definite time table yet.
-mark
mgates3
 
Posts: 403
Joined: Fri Jan 06, 2012 2:13 pm

Re: clMAGMA 0.1 Beta Released

Postby Stan Tomov » Sun May 27, 2012 4:11 pm

All four precisions for LU are now available in clMAGMA 0.2.
Stan
Stan Tomov
 
Posts: 249
Joined: Fri Aug 21, 2009 10:39 pm

Re: clMAGMA 0.1 Beta Released

Postby adensmore » Tue Oct 23, 2012 1:15 am

Amazing what these MAGMA guys have done by producing this heterogeneous code, and porting it to OpenCL.

I succeeded in building clMAGMA v0.3 using VS2008, Windows SDK v6.0A, gfortran (GNU 4.4) and MKL 11, on WinXPHE 32bit using an AMD HD5850 GPU. The unix makefile commands were revised to suit DOS syntax. In magmawinthreads.h I added the lines "#define __midl 600", "#define __int3264 int", and "typedef unsigned char byte". In common_magma.h, '#include <limits.h>' changed to '#include "limits.h"'. In operators.h and magma_types.h the ".x" were all changed to ".s[0]", and ".y" changed to ".s[1]". In Makefile.internal: 1) ifeq / else ifeq / else ifeq / else / endif changed to ifeq / else ifeq / else ifeq / else / endif / endif / endif, and 2) PTRSIZE = $(shell $(CC) -nologo $(PTRFILE) > nul && $(PTREXEC) && del $(PTREXEC) > nul ), and 3) #commenting out the section regarding Plasma. In magma_types.h: "#if HAVE_CUBLAS" changed to "#ifdef HAVE_CUBLAS", and "#elif HAVE_clAmdBlas" to "#elif defined(HAVE_clAmdBlas)". In interface.cpp "__func__" changed to "__FUNCTION__". At the top of every .cpp testing code the line "[module(name="magma_<>")];" was added, where <> = sfortran, dfortran, cfortran, zfortran, or param. One instance of pseudo-code "or" in each testing code replaced with the c logical operator "||". To overcome a linker error (zdotc and cdotc both being defined in libmagma.a and mkl_intel_c.lib) I simply deleted the zdotc and cdotc module entry from the top of the zhet21.f and chet21.f files in the lin dir. In magma_lapack.h, lines 59-60, "*small" replaced with "*smal". Before building I installed AMD StreamSDK v2.3 and clAmdBlas v1.8, and got Stream and Blas to compile and run their respective samples. Building clMAGMA was done in a VS2008 command prompt window, which automatically sets most of the required path entries.

To get the "d" and "z" precision .cl codes to build I had to add the #pragma line (#pragma OPENCL EXTENSION cl_amd_fp64 : enable) as cited in the June 13, '12 posting at viewtopic.php?f=2&t=501&p=1613&hilit=clmagma#p1613 to the top of each "d" and "z" .cl source file in the interface_opencl dir. Some of the testing codes, in each precision type except "s" (e.g., dgesv, cgesv and zgesv), have to be edited to define the appropriate type of PRECISION in the #if defined(PRECISION_x) line that encases all the test code, or they won't run. The xgemm test codes -- Ifound them all to work with the argument line -M 1024 -N 1024 -K 1024.

I've posted more detail concerning my build here: viewtopic.php?f=2&t=727

If anyone would like a copy of my clMAGMA v1.0 build on WinXP (make cleanall), send me an email at adensmore@ucla.edu with subject line "Requesting clMAGMA source".
Last edited by adensmore on Mon Feb 03, 2014 4:25 pm, edited 7 times in total.
adensmore
 
Posts: 4
Joined: Tue Oct 16, 2012 6:05 pm

Re: clMAGMA 0.1 Beta Released

Postby admin » Tue Oct 23, 2012 1:36 am

All precisions are supported now. You can remove/ignore those print statements. Thanks for pointing it out. We will have clMAGMA 1.0 release on October 24, and this will be fixed.
admin
Site Admin
 
Posts: 18
Joined: Tue Aug 04, 2009 12:23 pm

Re: clMAGMA 0.1 Beta Released

Postby matusi143 » Fri Oct 11, 2013 3:50 pm

It has been about a year since the release of v1.0 of clMAGMA. Is there any development going on and if so how can I get involved?
matusi143
 
Posts: 1
Joined: Fri Oct 11, 2013 3:44 pm


Return to User discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron