title: Are the LAPACK routines thread safe?
body: <p>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).</p>
  
  <p>I use Ubuntu 14.04LTS and have LAPACK installed using my package manager. The version installed is:</p>
  
  <pre><code>liblapack3    3.5.0-2ubuntu1     Library of linear algebra routines 3 - shared version
  </code></pre>
  
  <p>The associated BLAS library is:</p>
  
  <pre><code>libblas3    1.2.20110419-7
  </code></pre>
  
  <p>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?.</p>
  
  <p>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.</p>
  
  <p>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?:</p>
  
  <ul>
  <li>dgetrs</li>
  <li>dgetrf</li>
  <li>dgetri</li>
  <li>dgecon</li>
  </ul>
  
  <p>And one last question: Do the LAPACK procedures use all my cores?, id est, are they already parallel?.</p>