Developer Guide
Developer Guide for Intel® oneAPI Math Kernel Library Linux*
                    
                        ID
                        766690
                    
                
                
                    Date
                    6/30/2025
                
                
                    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
                            
                            
                        
                            
                                Obtaining Numerically Reproducible Results
                            
                            
                        
                            
                                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
                            
                            
                        
                            
                                Configuring Your Integrated Development Environment to Link with Intel® oneAPI Math Kernel Library
                            
                            
                        
                            
                                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 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 the Intel® Optimized HPL-AI* Benchmark
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Building the Intel® Distribution for LINPACK* Benchmark and the Intel® Optimized HPL-AI* Benchmark for a Customized MPI Implementation
                                                    
                                                    
                                                        
                                                            See Also
                                                        
                                                    
                                                
                                                    
                                                    
                                                        Building the Netlib HPL from Source Code
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Configuring Parameters
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Ease-of-use Command-Line Parameters
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Running the Intel® Distribution for LINPACK* Benchmark and the Intel® Optimized HPL-AI* Benchmark
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Heterogeneous Support in the Intel® Distribution for LINPACK* Benchmark
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Environment Variables
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Improving Performance of Your Cluster
                                                    
                                                    
                                                
                                            
                                        
                                                
                                                
                                                    
                                                    
                                                        Overview of the Intel Optimized HPCG
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Versions of the Intel® CPU Optimized HPCG
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Versions of the Intel® GPU Optimized HPCG
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Getting Started with Intel® CPU Optimized HPCG
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Getting Started with Intel® GPU Optimized HPCG
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Choosing the Best Configuration and Problem Sizes for CPUs
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Choosing the Best HPCG Configuration for GPUs
                                                    
                                                    
                                                
                                            
                                        Building the Intel® Distribution for LINPACK* Benchmark and the 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