You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(LBT), a library that can change between BLAS and LAPACK backends at runtime.
320
326
321
-
The default BLAS and LAPACK backend is [OpenBLAS](https://github.com/OpenMathLib/OpenBLAS).
327
+
Note that the BLAS and LAPACK backends loaded at runtime must be compiled with 32-bit integers.
328
+
The default BLAS and LAPACK backend is [OpenBLAS](https://github.com/OpenMathLib/OpenBLAS),
329
+
and we rely on the Julia artifact `OpenBLAS32_jll.jl` if no backend is loaded before `using Ipopt`.
322
330
323
331
Using LBT, we can also switch dynamically to other BLAS backends such as Intel
324
332
MKL, BLIS, and Apple Accelerate. Because Ipopt and the linear solvers heavily
325
333
rely on BLAS and LAPACK routines, using an optimized backend for a particular
326
334
platform can improve the performance.
327
335
336
+
### Sequential BLAS and LAPACK
337
+
338
+
If you have `ReferenceBLAS32_jll.jl` and `LAPACK32_jll.jl` installed,
339
+
switch to sequential and [reference version of BLAS and LAPACK](https://github.com/Reference-LAPACK/lapack) with:
340
+
```julia
341
+
using ReferenceBLAS32_jll, LAPACK32_jll
342
+
LinearAlgebra.BLAS.lbt_forward(libblas32)
343
+
LinearAlgebra.BLAS.lbt_forward(liblapack32)
344
+
using Ipopt
345
+
```
346
+
328
347
### MKL
329
348
330
349
If you have [MKL.jl](https://github.com/JuliaLinearAlgebra/MKL.jl) installed,
@@ -337,17 +356,16 @@ using Ipopt
337
356
338
357
### BLIS
339
358
340
-
If you have [BLISBLAS.jl](https://github.com/JuliaLinearAlgebra/BLISBLAS.jl)
341
-
installed, switch to BLIS by adding `using BLISBLAS` to your code:
359
+
If you have `BLIS32_jll.jl` and `LAPACK32_jll.jl` installed,
360
+
switch to [BLIS](https://github.com/flame/blis) with:
342
361
343
362
```julia
344
-
using BLISBLAS
363
+
using blis32_jll, LAPACK32_jll
364
+
LinearAlgebra.BLAS.lbt_forward(blis32)
365
+
LinearAlgebra.BLAS.lbt_forward(liblapack32)
345
366
using Ipopt
346
367
```
347
368
348
-
Note that this will replace OpenBLAS's BLAS functionality by BLIS. OpenBLAS will
349
-
still be used for LAPACK functionality.
350
-
351
369
### AppleAccelerate
352
370
353
371
If you are using macOS ≥ v13.4 and you have [AppleAccelerate.jl](https://github.com/JuliaLinearAlgebra/AppleAccelerate.jl) installed, add `using AppleAccelerate` to your code:
0 commit comments