Developer Guide for Intel® oneAPI Math Kernel Library for Linux*
ID
766690
Date
4/28/2026
Public
Getting Help and Support
What’s New
Notational Conventions
Related Information
Getting Started
Structure of the Intel® oneAPI Math Kernel Library
Linking Your Application with the Intel® oneAPI Math Kernel Library
Managing Performance and Memory
Language-Specific Usage Options
Coding Tips
Managing Output
Working with the Intel® Math Kernel Library Cluster Edition Software
Managing Behavior of the Intel® oneAPI Math Kernel Library with Environment Variables
Programming with Intel® Math Kernel Library in an Integrated Development Environment (IDE)
Intel® Math Kernel Library Benchmarks
Appendix A: Intel® oneAPI Math Kernel Library Language Interfaces Support
Appendix B: Support for Third-Party Interfaces
Appendix C: Directory Structure in Detail
Notices and Disclaimers
OpenMP* Threaded Functions and Problems
Functions Threaded with Intel® Threading Building Blocks
Avoiding Conflicts in the Execution Environment
Techniques to Set the Number of Threads
Setting the Number of Threads Using an OpenMP* Environment Variable
Changing the Number of OpenMP* Threads at Run Time
Using Additional Threading Control
Calling Intel® oneMKL Functions from Multi-threaded Applications
Using Intel® Hyper-Threading Technology
Managing Multi-core Performance
Managing Performance with Heterogeneous Cores
Overview of the Intel® Distribution for LINPACK* Benchmark
Overview of the Intel® Optimized HPL-AI* Benchmark
Contents of the Intel® Distribution for LINPACK* Benchmark and Intel® Optimized HPL-AI* Benchmark
Building the Intel® Distribution for LINPACK* Benchmark and Intel® Optimized HPL-AI* Benchmark for a Customized MPI Implementation
Building the Netlib HPL from Source Code
Configuring Parameters
Ease-of-use Command-Line Parameters
Running the Intel® Distribution for LINPACK* Benchmark and Intel® Optimized HPL-AI* Benchmark
Heterogeneous Support in the Intel® Distribution for LINPACK* Benchmark
Environment Variables
Improving Performance of Your Cluster
Building the Intel® Distribution for LINPACK* Benchmark and Intel® Optimized HPL-AI* Benchmark for a Customized MPI Implementation
To build the binary, follow these steps:
Specify the location of Intel® oneAPI Math Kernel Library (oneMKL) to be used ( MKLROOT ) .
Set up your MPI environment.
Run the following commands:
$> export MKL_DIRS=${MKLROOT}/lib
$> export MKL_LIBS="-L${MKL_DIRS} -Wl,-Bstatic -Wl,--start-group
-lmkl_intel_lp64 -lmkl_sequential
-lmkl_core -Wl,--end-group -Wl,-Bdynamic"
$> mpicc -o xhpl -O2 -I${MKLROOT}/include HPL_main.c
${MKLROOT}/share/mkl/interfaces/mklmpi/mklmpi-impl.c
libhpl_intel64.a ${MKL_LIBS} -ldl -lpthread -lm
$> mpicc -o xhpl_gpu -O2 -I${MKLROOT}/include HPL_main.c
${MKLROOT}/share/mkl/interfaces/mklmpi/mklmpi-impl.c
libhpl_intel64_gpu.a ${MKL_LIBS} -ldl -lpthread -lm
$> mpicc -o xhpl-ai -O2 -I${MKLROOT}/include HPL_main.c
${MKLROOT}/share/mkl/interfaces/mklmpi/mklmpi-impl.c
libhpl-ai_intel64.a ${MKL_LIBS} -ldl -lpthread -lm
$> mpicc -o xhpl-ai_gpu -O2 -I${MKLROOT}/include HPL_main.c
${MKLROOT}/share/mkl/interfaces/mklmpi/mklmpi-impl.c
libhpl-ai_intel64_gpu.a ${MKL_LIBS} -ldl -lpthread -lm