Skip to content

Commit 4eab004

Browse files
authored
Elaborate on installing MKL in readme
1 parent d4f8dd4 commit 4eab004

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

README.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,31 @@ Similar packages are [Yeppp.jl](https://github.com/JuliaMath/Yeppp.jl), which wr
1010

1111
## Basic install
1212

13-
To use IntelVectorMath.jl, you must have the shared libraries of the Intel Vector Math Library available on your system.
13+
To use IntelVectorMath.jl, you must have the shared libraries of the Intel Vector Math Library available on your system, for which you currently have two options:
14+
15+
### 1. MKL.jl
1416
The easiest option is to use [MKL.jl](https://github.com/JuliaComputing/MKL.jl) via
1517
```julia
1618
julia> ] add https://github.com/JuliaComputing/MKL.jl.git
1719
```
18-
Alternatively you can install MKL directly [from intel](https://software.intel.com/en-us/mkl/choose-download).
20+
#### Note:
21+
This will overwrite your julia sysimage to use MKL instead of OpenBLAS which could break compatability with certain packages and is difficult to reverse without reinstalling julia from scratch. In addition, MKL.jl is currently broken on Windows, so you can only use the following option. Please see the MKL.jl repository for more information.
22+
23+
### 2. Standalone MKL
24+
You can also install MKL directly [from intel](https://software.intel.com/en-us/mkl/choose-download). For macOS and Windows this requires a free registration, on Linux this can be done via the command line, as seen [here](https://github.com/JuliaMath/IntelVectorMath.jl/blob/d4f8dd4083cf228cd493a4aed9964f1bc0f08d4f/.github/workflows/main.yml#L53).
25+
There is also the `intel-mkl-slim` package in the AUR that works well.
1926

2027
Note that intel MKL has a separate license, which you may want to check for commercial projects (see [FAQ]( https://software.intel.com/en-us/mkl/license-faq)).
2128

29+
### IntelVectorMath
2230
To install IntelVectorMath.jl run
2331
```julia
2432
julia> ] add IntelVectorMath
2533
```
2634
If you used this package prior to its renaming, you may have to run `] rm VML` first. Otherwise there will be a conflict due to the UUID.
2735

36+
In the event that MKL was not installed properly you will get an error when first `using` it.
37+
2838
## Using IntelVectorMath
2939
After loading `IntelVectorMath`, you have the supported function listed below, for example `IntelVectorMath.sin(rand(100))`. These should provide a significant speed-up over broadcasting the Base functions.
3040
Since the package name is quite long, an alias `IVM` is also exported to allow `IVM.sin(rand(100))` after `using` the package.

0 commit comments

Comments
 (0)