Question

I require a matrix library for C++ AMP that is able to perform basic operations as well as matrix inversion for arbitrarily sized matrices and QR decomposition.

I initially found that there is a BLAS AMP implementation, however I could not find anywhere that stated whether or not BLAS can perform matrix inversion, can anyone enlighten me about its capabilities and/or suggest a more suitable parallel matrix library for AMP? Thanks!

edit: I found a LAPACK AMP library which is capable of matrix inversion (I think), however it's still in development :(

Was it helpful?

Solution

As far as I know, your best bet is the LAPACK library that you already linked to. C++ AMP is still fairly new and doesn't seem to have a large uptake in scientific computing so far.

There are also some other C++ AMP libraries in development that may be of interest to you.

  1. Algorithms
  2. BLAS
  3. FFT
  4. Random Number Generation
  5. Generic Kernels

OTHER TIPS

I have not been able to find any LAPACK libraries for C++ AMP. However, there are some available for OpenCL.

Specifically clMAGMA from the University of Tennessee.

http://icl.cs.utk.edu/magma/software/view.html?id=152

You will need the AMD OpenCL BLAS library to sit under the LAPACK from here:

http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-math-libraries/

I think this is your only bet at inverting a matrix with open source libraries on your GPU. Being openCL, this will be platform agnostic (like C++ AMP), unlike CUDA.

-Matt Musto www.mustotechnologies.com

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top