# Does LAPACK/BLAS automatically use multi cores or threads?

**URL:** <https://fortran-lang.discourse.group/t/does-lapack-blas-automatically-use-multi-cores-or-threads/4072>\
**Category:** Uncategorized\
**Created:** [July 26, 2022, 8:22am UTC](https://fortran-lang.discourse.group/t/does-lapack-blas-automatically-use-multi-cores-or-threads/4072 "2022-07-26T08:22:42Z")\
**Posts on this page:** 1\
**Showing post:** 27

<div class="post-metadata">

**Author:** ![JeffH](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/jeffh/32/595_2.png) [@JeffH](https://fortran-lang.discourse.group/u/JeffH)\
**Post date:** [August 1, 2022, 7:50am UTC](https://fortran-lang.discourse.group/t/does-lapack-blas-automatically-use-multi-cores-or-threads/4072/27 "2022-08-01T07:50:06Z")

</div>

LAPACK is explicitly threaded now, at least in the better implementations. MKL threads at the LAPACK level, not just with BLAS calls, since that’s not efficient. Even reference LAPACK has some threading now, e.g. [lapack/zhetrd\_hb2st.F at 2614d23900915235f9652a5a2ad3e1873e7ac9f0 · Reference-LAPACK/lapack · GitHub](https://github.com/Reference-LAPACK/lapack/blob/2614d23900915235f9652a5a2ad3e1873e7ac9f0/SRC/zhetrd_hb2st.F#L463), and even using OpenMP tasking ([lapack/dsytrd\_sb2st.F at 2614d23900915235f9652a5a2ad3e1873e7ac9f0 · Reference-LAPACK/lapack · GitHub](https://github.com/Reference-LAPACK/lapack/blob/2614d23900915235f9652a5a2ad3e1873e7ac9f0/SRC/dsytrd_sb2st.F#L481)).

---

_[View the full topic](https://fortran-lang.discourse.group/t/does-lapack-blas-automatically-use-multi-cores-or-threads/4072)._
