Skip to content

Commit 10e8ed9

Browse files
authored
Update README.md
1 parent 3f06a48 commit 10e8ed9

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

README.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,34 @@
1313

1414
## Usage
1515

16-
This crate is a `*-src` crate. This downloads and link Intel MKL, but does not introduce any symbols.
16+
`intel-mkl-src` crate is a `*-src` crate. This links MKL libraries to executable build by cargo, but does not provide Rust bindings.
1717
Please use `blas-sys`, `lapack-sys`, or `fftw-sys` to use BLAS, LAPACK, FFTW interface of MKL, e.g.
1818

1919
```toml
2020
[dependencies]
2121
fftw-sys = { version = "0.4", features = ["intel-mkl"] }
2222
```
2323

24+
Binding to MKL specific features are provided by `intel-mkl-sys` crate. This contains
25+
26+
- [Vector Mathematical Functions](https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/vector-mathematical-functions.html)
27+
- [Statistical Functions](https://www.intel.com/content/www/us/en/develop/documentation/onemkl-developer-reference-c/top/statistical-functions.html)
28+
2429
## How to find system MKL libraries
2530

26-
`intel-mkl-tool` crate seeks system MKL libraries, e.g. installed by various installer as following manner:
31+
`intel-mkl-tool` crate seeks system MKL library installed by various installer as following manner:
2732

2833
- Seek using `pkg-config` command
2934
- Seek `${MKLROOT}` directory
3035
- Seek default installation path
3136
- `/opt/intel/mkl` for Linux
3237
- `C:/Program Files (x86)/IntelSWTools/` and `C:/Program Files (x86)/Intel/oneAPI` for Windows
3338

34-
If `intel-mkl-tool` cannot find system MKL, `intel-mkl-src` try to download MKL binaries from OCI Registry.
39+
If `intel-mkl-tool` does not find MKL library, `intel-mkl-src` try to download MKL binaries from [GitHub Container Registry (ghcr.io)](https://github.com/orgs/rust-math/packages?repo_name=rust-mkl-container).
3540

3641
## Supported features
3742

38-
`mkl-*-*-*` features specify which MKL to be linked as following.
43+
There are 8 (=2x2x2) `mkl-*-*-*` features to specify how to link MKL libraries.
3944
If any feature is set, default to `mkl-static-ilp64-iomp`.
4045

4146
### Link type (`static` or `dynamic`)
@@ -44,7 +49,7 @@ and will seek them from filesystem while execution.
4449
This is better choice when the MKL libraries are managed by the system package manager e.g. `apt`.
4550

4651
`static` means MKL is linked statically, i.e. the MKL binaries are embedded in the executable file.
47-
This is better choice when creating portable executable, or system-managed MKL library does not exist.
52+
This is better choice when creating portable executable.
4853

4954
### Data model (`lp64` or `ilp64`)
5055

@@ -58,7 +63,7 @@ This specify the data model:
5863
- `iomp` means MKL uses Intel OpenMP runtime
5964
- `seq` means sequential (single thread) execution
6065

61-
Using GNU OpenMP runtime (`libgomp`) is not supported in this project.
66+
Using GNU OpenMP runtime (`libgomp`) is not supported yet. Please see https://github.com/rust-math/intel-mkl-src/issues/97
6267

6368
## License
6469
MKL is distributed under the Intel Simplified Software License for Intel(R) Math Kernel Library, See [License.txt](License.txt).

0 commit comments

Comments
 (0)