Visible to Intel only — GUID: GUID-1C7DD91D-06C3-4790-ACF9-14DEFA07520E
Visible to Intel only — GUID: GUID-1C7DD91D-06C3-4790-ACF9-14DEFA07520E
Building a Universal Windows Driver
Intel® oneAPI Math Kernel Library is compatible with Universal Windows Drivers (UWDs) whose binaries are Win10 SDK version 1803 (also called Redstone 4, RS4 or Win 10 SDK build 10.0.17134.0) or higher. The Windows system calls used in the statically linked libraries are defined in:
- OneCore.Lib for headless applications like Nano Server.
- OneCoreUAP.Lib for a UWD.
This table summarizes important information about compatibility between Intel® oneAPI Math Kernel Library and UWDs.
Criteria |
Compatibility |
---|---|
SDK |
10.0.17134.0 (also called Redstone 4, RS4, version 1803) or higher |
Architecture |
|
Universal API sets |
|
Threading layers |
|
UWD Compliance |
|
UWD Compliance for 32-bit Architecture (ia32)
These tables describe compliance between Intel® oneAPI Math Kernel Library and UWD on 32-bit (ia32) architecture for static and dynamic linked libraries.
Layer |
Library |
Compatibility |
---|---|---|
Fortran interface layer |
mkl_blas95.lib mkl_lapack95.lib |
Not applicable1 |
Interface layer |
mkl_intel_c.lib (cdecl) |
✓ ✓ |
Threading layer |
mkl_sequential.lib | ✓ |
mkl_tbb_thread.lib | ✓ (if using UWD Intel® TBB 2) |
|
mkl_intel_thread.lib (OpenMP) | ╳ | |
Computational layer |
mkl_core.lib | ✓ |
1 These are Fortran 95 wrappers for BLAS (BLAS95) and LAPACK (LAPACK95). Windows drivers are typically written in C, C++ or ASM. Fortran wrappers are UWD-compliant but not useful for building UWDs.
2 Starting with the Intel® TBB 2018 release, you can find a prebuilt UWD-compliant Intel® TBB library in <tbb_distribution_root>\lib\<target_architecture>\vc14_uwd.
Layer |
Library |
Compatibility |
---|---|---|
Fortran interface layer |
mkl_blas95_dll.lib mkl_lapack95_dll.lib |
Not applicable1 |
Interface layer |
mkl_intel_c_dll.lib (cdecl) |
See UWD Compliance in the compatibility table above. |
Threading layer |
mkl_sequential_dll.lib mkl_tbb_thread_dll.lib mkl_intel_thread_dll.lib (OpenMP) |
See UWD Compliance in the compatibility table above. |
Computational layer |
mkl_core_dll.lib | See UWD Compliance in the compatibility table above. |
1 These are Fortran 95 wrappers for BLAS (BLAS95) and LAPACK (LAPACK95). Windows drivers are typically written in C, C++ or ASM. Fortran wrappers are UWD-compliant but not useful for building UWDs.
UWD Compliance for 64-bit Architecture (intel64)
These tables describe compliance between Intel® oneAPI Math Kernel Library and UWD on 64-bit (intel64) architecture for static and dynamic linked libraries.
Layer |
Library |
Compatibility |
---|---|---|
Fortran interface layer |
mkl_blas95_lp64.lib mkl_blas95_ilp64.lib mkl_lapack95_lp64.lib mkl_lapack95_ilp64.lib |
Not applicable1 |
Interface layer |
mkl_intel_lp64.lib mkl_intel_ilp64.lib |
✓ ✓ |
Threading layer |
mkl_sequential.lib mkl_tbb_thread.lib mkl_intel_thread.lib (OpenMP) mkl_pgi_thread.lib (PGI OpenMP) |
✓ ✓ (if using UWD Intel® TBB2) ╳ ╳ |
Computational layer |
mkl_core.lib | ✓ |
MPI layer |
mkl_blacs_lp64.lib mkl_blacs_ilp64.lib mkl_cdft_core.lib mkl_scalapack_lp64.lib mkl_scalapack_ilp64.lib |
╳ |
1 These are Fortran 95 wrappers for BLAS (BLAS95) and LAPACK (LAPACK95). Windows drivers are typically written in C, C++ or ASM. Fortran wrappers are UWD-compliant but not useful for building UWDs.
2 Starting with the Intel® TBB 2018 release, you can find a prebuilt UWD-compliant Intel® TBB library in <tbb_distribution_root>\lib\<target_architecture>\vc14_uwd.
Layer |
Library |
Compatibility |
---|---|---|
Fortran interface layer |
mkl_blas95_lp64.lib mkl_blas95_ilp64.lib mkl_lapack95_lp64.lib mkl_lapack95_ilp64.lib |
Not applicable1 |
Interface layer |
mkl_intel_lp64_dll.lib mkl_intel_ilp64_dll.lib |
See UWD Compliance in the compatibility table above. |
Threading layer |
mkl_sequential_dll.lib mkl_tbb_thread_dll.lib mkl_intel_thread_dll.lib (OpenMP) mkl_pgi_thread_dll.lib (PGI OpenMP) |
See UWD Compliance in the compatibility table above. |
Computational layer |
mkl_core_dll.lib | See UWD Compliance in the compatibility table above. |
MPI layer |
mkl_blacs_lp64_dll.lib mkl_blacs_ilp64_dll.lib mkl_cdft_core_dll.lib mkl_scalapack_lp64_dll.lib mkl_scalapack_ilp64_dll.lib |
See UWD Compliance in the compatibility table above. |
1 These are Fortran 95 wrappers for BLAS (BLAS95) and LAPACK (LAPACK95). Windows drivers are typically written in C, C++ or ASM. Fortran wrappers are UWD-compliant but not useful for building UWDs.