# oneMKL
**Repository Path**: mirrors_oneapi-src/oneMKL
## Basic Information
- **Project Name**: oneMKL
- **Description**: oneAPI Math Library (oneMath)
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: develop
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2020-09-25
- **Last Updated**: 2026-02-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# oneAPI Math Library (oneMath)
[](https://securityscorecards.dev/viewer/?uri=github.com%2Fuxlfoundation%2FoneMath)
oneMath is an open-source implementation of the [oneMath specification](https://oneapi-spec.uxlfoundation.org/specifications/oneapi/latest/elements/onemath/source/). It can work with multiple devices using multiple libraries (backends) underneath. The oneMath project was previously referred to as oneMKL Interfaces.
oneMath is part of the [UXL Foundation](http://www.uxlfoundation.org).
| User Application | oneMath Layer | Third-Party Library | Hardware Backend |
|---|---|---|---|
| oneMath | oneMath selector | Intel(R) oneAPI Math Kernel Library (oneMKL) | x86 CPU, Intel GPU |
| NVIDIA cuBLAS | NVIDIA GPU | ||
| NVIDIA cuSOLVER | NVIDIA GPU | ||
| NVIDIA cuRAND | NVIDIA GPU | ||
| NVIDIA cuFFT | NVIDIA GPU | ||
| NVIDIA cuSPARSE | NVIDIA GPU | ||
| NETLIB LAPACK | x86 and aarch64 CPU | ||
| Arm Performance Libraries | aarch64 CPU | ||
| Arm OpenRNG | x86 and aarch64 CPU | ||
| AMD rocBLAS | AMD GPU | ||
| AMD rocSOLVER | AMD GPU | ||
| AMD rocRAND | AMD GPU | ||
| AMD rocFFT | AMD GPU | ||
| AMD rocSPARSE | AMD GPU | ||
| generic SYCL BLAS | x86 CPU, Intel GPU, NVIDIA GPU, AMD GPU, Other SYCL devices (unsupported) | ||
| portFFT | x86 CPU, Intel GPU, NVIDIA GPU, AMD GPU, Other SYCL devices (unsupported) |
| Domain | Backend | Library | Supported Compiler | Supported Link Type |
|---|---|---|---|---|
| BLAS | x86 CPU | Intel(R) oneMKL | Intel DPC++AdaptiveCpp | Dynamic, Static |
| NETLIB LAPACK | Intel DPC++Open DPC++AdaptiveCpp | Dynamic, Static | ||
| generic SYCL BLAS | Intel DPC++Open DPC++ | Dynamic, Static | ||
| aarch64 CPU | Arm Performance Libraries | Open DPC++AdaptiveCpp | Dynamic, Static | |
| NETLIB LAPACK | Open DPC++AdaptiveCpp | Dynamic, Static | ||
| Intel GPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static | |
| generic SYCL BLAS | Intel DPC++Open DPC++ | Dynamic, Static | ||
| NVIDIA GPU | NVIDIA cuBLAS | Open DPC++AdaptiveCpp | Dynamic, Static | |
| generic SYCL BLAS | Open DPC++ | Dynamic, Static | ||
| AMD GPU | AMD rocBLAS | Open DPC++AdaptiveCpp | Dynamic, Static | |
| generic SYCL BLAS | Open DPC++ | Dynamic, Static | ||
| Other SYCL devices (unsupported) | generic SYCL BLAS | Intel DPC++Open DPC++ | Dynamic, Static | |
| LAPACK | x86 CPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static |
| aarch64 CPU | Arm Performance Libraries | Open DPC++AdaptiveCpp | Dynamic, Static | |
| Intel GPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static | |
| NVIDIA GPU | NVIDIA cuSOLVER | Open DPC++ | Dynamic, Static | |
| AMD GPU | AMD rocSOLVER | Open DPC++ | Dynamic, Static | |
| RNG | x86 CPU | Intel(R) oneMKL | Intel DPC++AdaptiveCpp | Dynamic, Static |
| Arm OpenRNG | Open DPC++AdaptiveCpp | Dynamic, Static | ||
| aarch64 CPU | Arm Performance Libraries | Open DPC++AdaptiveCpp | Dynamic, Static | |
| Arm OpenRNG | Open DPC++AdaptiveCpp | Dynamic, Static | ||
| Intel GPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static | |
| NVIDIA GPU | NVIDIA cuRAND | Open DPC++AdaptiveCpp | Dynamic, Static | |
| AMD GPU | AMD rocRAND | Open DPC++AdaptiveCpp | Dynamic, Static | |
| DFT | x86 CPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static |
| portFFT (limited API support) | Intel DPC++ | Dynamic, Static | ||
| aarch64 CPU | Arm Performance Libraries | Open DPC++AdaptiveCpp | Dynamic, Static | |
| Intel GPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static | |
| portFFT (limited API support) | Intel DPC++ | Dynamic, Static | ||
| NVIDIA GPU | NVIDIA cuFFT | Open DPC++AdaptiveCpp | Dynamic, Static | |
| portFFT (limited API support) | Open DPC++ | Dynamic, Static | ||
| AMD GPU | AMD rocFFT | Open DPC++AdaptiveCpp | Dynamic, Static | |
| portFFT (limited API support) | Open DPC++ | Dynamic, Static | ||
| Other SYCL devices (unsupported) | portFFT | Open DPC++Open DPC++ | Dynamic, Static | |
| SPARSE_BLAS | x86 CPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static |
| Intel GPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static | |
| NVIDIA GPU | NVIDIA cuSPARSE | Open DPC++ | Dynamic, Static | |
| AMD GPU | AMD rocSPARSE | Open DPC++ | Dynamic, Static |
| Domain | Backend | Library | Supported Compiler | Supported Link Type |
|---|---|---|---|---|
| BLAS | x86 CPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static |
| NETLIB LAPACK | Intel DPC++Open DPC++ | Dynamic, Static | ||
| Intel GPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static | |
| LAPACK | x86 CPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static |
| Intel GPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static | |
| RNG | x86 CPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static |
| Intel GPU | Intel(R) oneMKL | Intel DPC++ | Dynamic, Static |
| Functional Testing | Build Only | Documentation |
|---|---|---|
| CMake (version 3.13 or newer) | ||
| Linux* : GNU* GCC 5.1 or higher Windows* : MSVS* 2017 or MSVS* 2019 (version 16.5 or newer) |
||
| Ninja (optional) | ||
| GNU* FORTRAN Compiler | - | Sphinx |
| NETLIB LAPACK | - | - |
| Operating System | Device | Package | Linux*/Windows* | x86 CPU | Intel(R) oneAPI DPC++ Compiler or oneAPI DPC++ Compiler |
|---|---|---|
| Intel(R) oneAPI Math Kernel Library | Intel GPU | Intel(R) oneAPI DPC++ Compiler |
| Intel GPU driver | ||
| Intel(R) oneAPI Math Kernel Library | Linux* only | NVIDIA GPU | oneAPI DPC++ Compiler or AdaptiveCpp with CUDA backend and dependencies |
| AMD GPU | oneAPI DPC++ Compiler or AdaptiveCpp with ROCm backend and dependencies |