I am a novice using the LAPACK routines, so I don't deeply know them, and I want to use them in parallelized loops (openmp).
I use Ubuntu 14.04LTS and have LAPACK installed using my package manager. The version installed is:
liblapack3 3.5.0-2ubuntu1 Library of linear algebra routines 3 - shared version
The associated BLAS library is:
libblas3 1.2.20110419-7
So, my first question is quite simple: can I use any subroutine or function of the LAPACK in a loop parallelized using OpenMP?. Id est, are they thread safe?.
Another questions is: Can I use any subroutine or function of the LAPACK in my pure subroutine?, id est, in a subroutine coded by me and defined as pure.
If the answer to these questions are "not with all LAPACK procedures but with some of them", then, can I do it with the following subroutines?:
- dgetrs
- dgetrf
- dgetri
- dgecon
And one last question: Do the LAPACK procedures use all my cores?, id est, are they already parallel?.