|
1 | | -## `mkl_fft` -- a NumPy-based Python interface to Intel® oneAPI Math Kernel Library (OneMKL) FFT functionality |
| 1 | +## `mkl_fft` -- a NumPy-based Python interface to Intel® oneAPI Math Kernel Library (oneMKL) FFT functionality |
2 | 2 | [](https://github.com/IntelPython/mkl_fft/actions/workflows/conda-package.yml) |
3 | 3 | [](https://github.com/IntelPython/mkl_fft/actions/workflows/build_pip.yaml) |
4 | 4 | [](https://github.com/IntelPython/mkl_fft/actions/workflows/conda-package-cf.yml) |
5 | 5 | [](https://securityscorecards.dev/viewer/?uri=github.com/IntelPython/mkl_fft) |
6 | 6 |
|
7 | 7 | # Introduction |
8 | 8 | `mkl_fft` started as a part of Intel® Distribution for Python* optimizations to NumPy, and is now being released |
9 | | -as a stand-alone package. It offers a thin layered interface for the Intel® oneAPI Math Kernel Library (OneMKL) FFT functionality that allows efficient access to native FFT optimizations from a range of NumPy and SciPy functions. As a result, its performance is close to the performance of native C/Intel® OneMKL. The optimizations are provided for real and complex data types in both single and double precisions for in-place and out-of-place modes of operation. For analyzing the performance use [FFT benchmarks](https://github.com/intelpython/fft_benchmark). |
| 9 | +as a stand-alone package. It offers a thin layered interface for the Intel® oneAPI Math Kernel Library (oneMKL) FFT functionality that allows efficient access to native FFT optimizations from a range of NumPy and SciPy functions. As a result, its performance is close to the performance of native C/Intel® oneMKL. The optimizations are provided for real and complex data types in both single and double precisions for in-place and out-of-place modes of operation. For analyzing the performance use [FFT benchmarks](https://github.com/intelpython/fft_benchmark). |
10 | 10 |
|
11 | | -Thanks to Intel® OneMKL’s flexibility in its supports for arbitrarily strided input and output arrays both one-dimensional and multi-dimensional Fast Fourier Transforms along distinct axes can be performed directly, without the need to copy the input into a contiguous array first. Furthermore, input strides can be arbitrary, including negative or zero, as long as strides remain an integer multiple of array’s item size, otherwise a copy will be made. |
| 11 | +Thanks to Intel® oneMKL’s flexibility in its supports for arbitrarily strided input and output arrays both one-dimensional and multi-dimensional Fast Fourier Transforms along distinct axes can be performed directly, without the need to copy the input into a contiguous array first. Furthermore, input strides can be arbitrary, including negative or zero, as long as strides remain an integer multiple of array’s item size, otherwise a copy will be made. |
12 | 12 |
|
13 | 13 | More details can be found in ["Accelerating Scientific Python with Intel Optimizations"](https://proceedings.scipy.org/articles/shinma-7f4c6e7-00f) from Proceedings of the 16th Python in Science Conference (SciPy 2017). |
14 | 14 |
|
@@ -85,10 +85,10 @@ numpy.allclose(mkl_res, np_res) |
85 | 85 | --- |
86 | 86 | # Building from source |
87 | 87 |
|
88 | | -To build `mkl_fft` from sources on Linux with Intel® OneMKL: |
| 88 | +To build `mkl_fft` from sources on Linux with Intel® oneMKL: |
89 | 89 | - create a virtual environment: `python3 -m venv fft_env` |
90 | 90 | - activate the environment: `source fft_env/bin/activate` |
91 | | - - install a recent version of OneMKL, if necessary |
| 91 | + - install a recent version of oneMKL, if necessary |
92 | 92 | - execute `source /path_to_oneapi/mkl/latest/env/vars.sh` |
93 | 93 | - `git clone https://github.com/IntelPython/mkl_fft.git mkl_fft` |
94 | 94 | - `cd mkl_fft` |
|
0 commit comments