4

The use of GPU in General Purpose is common now. And the very basic thing, the Matrix Multiplication is the first in the OpenCL tutorials. Instead of writing codes and kernel codes for specific gpu. Is it possible to call them from a library like MKL or so. Arrayfire is there but not free. I am trying to port my simulation software to GPU which has Matrix Mul, LU decomposition , FFT etc.. I am in search of robust codes for these rather than writing them from scratch. I already have an working mat mul opencl program with me, but just lacking few knowledge in integrating it with my code. In the next step am trying with LU, is there any code for LU out there that could help me.

arrayfire
  • 1,744
  • 12
  • 19
neonano
  • 31
  • 1
  • 1
  • 7
  • There is a free version of ArrayFire (which I work on). Did you miss that? Here's the link: http://www.accelereyes.com/products/arrayfire_licensing – arrayfire Apr 28 '13 at 03:19
  • I know you guys would comment here..!! As I have mentioned i need "open source". And since I(almost everyone) will be using double precision and complex values, Arrayfire is definitely not free. But thanks for your info :) – neonano Apr 28 '13 at 11:39
  • Double precision and complex values are fully supported in the free version of ArrayFire OpenCL. ArrayFire is substantially free, but you're right that it is not open source. Good luck! – arrayfire Apr 29 '13 at 01:33
  • This is quoted in your OpenCL C++ Documentation "Double-precision or complex values require ArrayFire Pro." for LU,LU pivoting,Matrix inversion..... wherever there is the need of complex val n double precision.....almost all indeed..!! – neonano Apr 29 '13 at 11:34
  • Ah, that's a documentation bug in the OpenCL docs (it's a carryover from our CUDA docs and the restriction only applies to the CUDA version, since we rely on CULA for CUDA LU which has those limitations). Thanks for pointing out the documentation bug and we will fix. Note that it is not our intent to ever limit our free version based on double-precision or complex values. Cheers! – arrayfire Apr 29 '13 at 16:01
  • OK Nice. Great News..!! – neonano Apr 30 '13 at 11:39
  • @accelereyes Is arrayfire OpenCL C++ available for windows ? – neonano May 08 '13 at 13:23

2 Answers2

1

Check out ViennaCL http://viennacl.sourceforge.net/viennacl-about.html

it has linear algebra suuport (BLAS1-3), solvers, etc

isti_spl
  • 706
  • 6
  • 10
0

In addition to ViennaCl there is also clMagma:

http://icl.cs.utk.edu/magma/news/news.html?id=303

tillsten
  • 14,491
  • 5
  • 32
  • 41