FS#54706 - [julia] Uses single-threaded BLAS instead of multi-threaded OpenBLAS
Attached to Project:
Community Packages
Opened by Ted Krovetz (krovetz) - Wednesday, 05 July 2017, 14:36 GMT
Last edited by Alexander F. Rødseth (xyproto) - Wednesday, 15 November 2017, 11:27 GMT
Opened by Ted Krovetz (krovetz) - Wednesday, 05 July 2017, 14:36 GMT
Last edited by Alexander F. Rødseth (xyproto) - Wednesday, 15 November 2017, 11:27 GMT
|
Details
Description:
Julia is designed to be a high-performance scientific programming language. One of the ways it achieves high-performance is through the use of high-performance libraries. Currently Julia in Arch is using the "blas" package for linear algebra operations, which is single threaded. When asked, a "Steward" at JuliaLang.org recommended using OpenBLAS instead, which is used by them in their builds and provides multi-threaded linear-algebra subroutines. https://discourse.julialang.org/t/multithreaded-libraries/ |
This task depends upon
Closed by Alexander F. Rødseth (xyproto)
Wednesday, 15 November 2017, 11:27 GMT
Reason for closing: Fixed
Wednesday, 15 November 2017, 11:27 GMT
Reason for closing: Fixed
Ultimately, the best way forward is to promote openblas-lapack out of AUR and use it, otherwise, julia will be either slow or broken on Arch.
See https://discourse.julialang.org/t/multithreaded-libraries/ for more information.
Moreover, Julia upstream recommends OpenBLAS. If OpenBLAS cannot be included in default repos, the package would better be moved to AUR so that users do not incorrectly believe that Julia is slow. This can really hurt Julia's reputation.
For what it's worth, I just spent quite a few hours trying to understand why Julia was so much slower (~50x in some cases) on all my Linux machines than on my Windows machines. I finally figured it out by comparing which BLAS libraries were being used on the machines, using a pretty arcane command from within Julia.
Could openblas be added as a recommended optional package? Or some sort of helpful warning to users post install?
Please re-open if there are further issues with this.