https://github.com/urob/numpy-mkl
MKL-accelerated NumPy and SciPy wheels
https://github.com/urob/numpy-mkl
mkl numpy pypi
Last synced: 9 months ago
JSON representation
MKL-accelerated NumPy and SciPy wheels
- Host: GitHub
- URL: https://github.com/urob/numpy-mkl
- Owner: urob
- Created: 2025-03-12T20:46:51.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-05-11T23:06:20.000Z (9 months ago)
- Last Synced: 2025-05-12T00:19:16.176Z (9 months ago)
- Topics: mkl, numpy, pypi
- Language: Python
- Homepage: https://urob.github.io/numpy-mkl/
- Size: 1.07 GB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# numpy-mkl
This repository provides binary wheels for NumPy and SciPy, linked to Intel's high-performance
[oneAPI Math Kernel
Library](https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.html) for Intel CPUs.
The wheels are accessible through a custom Python Package Index (PyPI) and can be installed with
`pip` or `uv`.
## Installation
MKL-accelerated wheels are available for 64-bit versions of Linux and Windows. There are no
prerequisites apart from `pip` or `uv`; all dependencies are automatically installed by the package
manager.
**uv**
```sh
# Run this from project directory
uv init
uv add numpy scipy --index https://urob.github.io/numpy-mkl
```
**pip**
```sh
pip install numpy scipy --extra-index-url https://urob.github.io/numpy-mkl
```
## Alternatives
The usual way to obtain MKL-accelerated NumPy and SciPy packages is through
[Anaconda](https://www.anaconda.com/) or [Conda-forge](https://conda-forge.org/). The purpose of
this repository is to provide an alternative for users who prefer to use `pip` or `uv` for package
management. Other alternatives are listed below.
| | MKL | PyPI | Notes |
| ------------------------------------------------------------------------------------------------------------------------------- | --- | ---- | -------------------------- |
| This repository | Yes | Yes | |
| [Intel(r) Distribution for Python](https://www.intel.com/content/www/us/en/developer/tools/oneapi/distribution-for-python.html) | Yes | Yes | Does not support NumPy 2.x |
| [Numpy-mkl-wheels](https://github.com/cgohlke/numpy-mkl-wheels) | Yes | No | No Linux wheels |
| [Python Package Index](https://pypi.org/) | No | Yes | Slow on Intel CPUs |
## Technical details
Linux wheels are built with `gcc` on Ubuntu 22.04. Windows wheels are built with `msvc` (numpy) and
`mingw-w64` (scipy) on Windows Server 2019. These compilers showed the most consistent runtime
performance in a series of [benchmarks](benchmarks/benchmarks.py), even in comparison to
`icx`-compiled wheels.
## References
- [Intel(r) oneMKL Release
Notes](https://www.intel.com/content/www/us/en/developer/articles/release-notes/onemkl-release-notes.html)
- [Intel(r) oneAPI Release
Notes](https://www.intel.com/content/www/us/en/developer/articles/release-notes/intel-oneapi-toolkit-release-notes.html)