Skip to content

Commit 2601f07

Browse files
committed
Updated version and README
1 parent 641a2b5 commit 2601f07

File tree

4 files changed

+14
-27
lines changed

4 files changed

+14
-27
lines changed

.github/workflows/main.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ on:
33
push:
44
branches:
55
- master
6-
- dev
76
pull_request:
87

98
jobs:

.github/workflows/nightly.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ on:
33
push:
44
branches:
55
- master
6-
- dev
76
pull_request:
87
schedule:
98
- cron: '1 0 1,15 * *'

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "IntelVectorMath"
22
uuid = "c8ce9da6-5d36-5c03-b118-5a70151be7bc"
3-
version = "0.2.1"
3+
version = "0.3"
44

55
[deps]
66
BinaryProvider = "b99e7846-7c00-51b0-8f62-c81ae34c0232"

README.md

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,20 @@ 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, for which you currently have two options:
14-
15-
### 1. MKL.jl
16-
The easiest option is to use [MKL.jl](https://github.com/JuliaComputing/MKL.jl) via
13+
To install IntelVectorMath.jl run
1714
```julia
18-
julia> ] add https://github.com/JuliaComputing/MKL.jl.git
15+
julia> ] add IntelVectorMath
1916
```
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.
26-
27-
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)).
17+
Since version 0.3 IntelVectorMath downloads its own version of MKL and keeps only the required files in its own directory. As such installing MKL.jl or MKL via intel are no longer required, and may mean some duplicate files if they are present. However, this package will adopt the new artifact system in the next minor version update and fix this issue.
2818

29-
### IntelVectorMath
30-
To install IntelVectorMath.jl run
19+
In the event that MKL was not installed properly you will get an error when first `using` it. Please try running
3120
```julia
32-
julia> ] add IntelVectorMath
21+
julia> ] build IntelVectorMath
3322
```
34-
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.
23+
If this does not work, please open an issue and include the output of `<packagedir>/deps/build.log`.
3524

36-
In the event that MKL was not installed properly you will get an error when first `using` it.
25+
#### Renaming from VML
26+
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.
3727

3828
## Using IntelVectorMath
3929
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.
@@ -253,14 +243,13 @@ Next steps for this package
253243
* [x] Move Testing to GitHub Actions
254244
* [x] Add test for using standalone MKL
255245
* [x] Update Benchmarks
256-
* [ ] Add tests for mutating functions
246+
* [x] Add tests for mutating functions
247+
* [x] Add own dependency management via BinaryProvider
248+
* [ ] Update function list in README
249+
* [ ] Adopt Julia 1.3 artifact system, breaking backwards compatibility
257250

258251

259252

260253
## Advanced
261-
IntelVectorMath.jl works via Libdl which loads the relevant shared libraries. Libdl automatically finds the relevant libraries if the location of the binaries has been added to the system search paths.
262-
This already taken care of if you use MKL.jl, but the stand-alone may require you to source `mklvars.sh` in the shell you are opening the REPL in. The default command on Mac and Ubuntu is `source /opt/intel/mkl/bin/mklvars.sh intel64`. You may want to add this to your `.bashrc`.
263-
Adding a new `*.conf` file in `/etc/ld.so.conf.d` also works, as the `intel-mkl-slim` package in the AUR does automatically.
264-
265-
Further, IntelVectorMath.jl uses [CpuId.jl](https://github.com/m-j-w/CpuId.jl) to detect if your processor supports the newer `avx2` instructions, and if not defaults to `libmkl_vml_avx`. If your system does not have AVX this package will currently not work for you.
254+
IntelVectorMath.jl uses [CpuId.jl](https://github.com/m-j-w/CpuId.jl) to detect if your processor supports the newer `avx2` instructions, and if not defaults to `libmkl_vml_avx`. If your system does not have AVX this package will currently not work for you.
266255
If the CPU feature detection does not work for you, please open an issue.

0 commit comments

Comments
 (0)