LU decompostion/factorization from Cula or v. Volkov Search an LU decomposition with partial pivotin

Good morning,

      I working on a computational finance project and I need an [b]LU decomposition[/b] ([b]factorization[/b]) implementation on CUDA.

I see Vasily Volkov implementation but I try to use it without mkl library and it doesn’t work. Some functions don’t appear in LAPACK library and volkov library.

I found a cuda library that implement LU Decomposition named Cula ( but in basic version, the LU function (culaDeviceSGETRF => Computes an LU factorization of a general matrix, using partial pivoting with row interchanges) doesn’t work for me (Data error).

I extremely need LU decomposition to solve a linear system !

Thanks for all your answers.


It most certainly does work. Volkov’s code uses one MKL random number function for generating test matrices which can be replaced with something from libc. The actual solvers themselves don’t require anything that can’t be provided by any host LAPACK implementation, like ATLAS, or GOTO2 or AMD ACML. I have used that code a lot, it works.

So go and ask about it at the CULA support site. I am sure they will tell you what you are doing wrong. I tested that code while it was in Beta and it seemed to work fine.

Is there another sort of LU factorization of which I am not familiar? If you can’t get two known to work implementations to do what you are trying to do, the problem is almost certainly not with the either piece of code…

If you are getting a data error using CULA, you most likely have a singular system that can’t be solved. Stop by our forums if you have any questions.

Starting from CUDA 5.5, the cuBLAS library contains


which performs the LU factorization of a matrix.