This KB Article References: High Performance Computing
This Information is Intended for: Instructors, Researchers, Staff, Students
Created: 01/10/2017
Last Updated: 03/06/2025
Introduction to Intel oneAPI on SeaWulf2 and SeaWulf3
Intel oneAPI is seamlessly integrated into SeaWulf2 and SeaWulf3 as a module, making it easily accessible to users who require its powerful toolkit. With oneAPI, you can develop across diverse computing architectures, simplifying complex tasks and enhancing the versatility and performance of SeaWulf's supercomputing capabilities.
This unified programming model streamlines development, allowing researchers, staff, and students to optimize their workflows across multiple platforms and environments with efficiency.
Recommended Intel Stack
To streamline your setup, we recommend using the Intel Stack module. This provides a single module that loads the latest versions of Intel compilers, Intel MKL, and Intel MPI, ensuring you have access to the cutting-edge tools needed for high-performance computing tasks. To load the Intel Stack, simply run the following command:
Current Version: Intel oneAPI 2024.2
Modules: intel/oneAPI/2024.2, tbb/latest, compiler-rt/latest, compiler/latest, mkl/latest, mpi/latest
Warning: Intel oneAPI 2024.2 is not supported on the login nodes due to compatibility issues with CentOS 7's outdated GLIBC version. Please use oneAPI 2022.2 instead on the login nodes.
Important Notes for Users
- Module Loading: If you prefer to manually load components such as MKL and Intel MPI, ensure they are included in your SLURM job script to ensure smooth integration. See example below for guidance.
- Verifying Paths: After loading the modules, confirm the path configuration with the
whichcommand to ensure correct setup.
Intel oneAPI Compilers
Recent releases of Intel's oneAPI toolkit introduce a transition to a new LLVM-based compiler suite. This change includes updated compiler names for better integration and performance:
- C Compiler: icx
- C++ Compiler: icpx
- Fortran Compiler: ifx
Example usage:
Classic Intel Compilers
If you need to use the traditional Intel compilers for compatibility reasons, previous oneAPI versions (before 2023) still include both classic and LLVM-based compilers. Although deprecated warnings may appear, the classic compilers remain available:
Note: The classic Intel compilers (icc, icpc, ifort) are deprecated and may receive limited support in future versions. We recommend transitioning to the new LLVM-based compilers (icx, icpx, ifx) for improved performance and compatibility.
- Classic C Compiler: icc
- Classic C++ Compiler: icpc
- Classic Fortran Compiler: ifort
Example usage:
Intel MPI Wrappers
Intel MPI offers specific wrappers that are optimized for different compilers, simplifying the integration process:
Note: Make sure to select the correct MPI wrapper corresponding to the compiler you are using (Intel or GCC). Using the wrong wrapper could lead to compilation errors or incompatible MPI implementations.
- For Intel Compilers:
- mpiicx: Intel C compiler (icx)
- mpiicpx: Intel C++ compiler (icpx)
- mpiifx: Intel Fortran compiler (ifx)
- For Classic Intel and GCC Compilers:
- mpiicc: Classic Intel C compiler (icc)
- mpiicpc: Classic Intel C++ compiler (icpc)
- mpiifort: Classic Intel Fortran compiler (ifort)
- mpicc, mpicxx, mpifort: GCC compilers (gcc, g++, gfortran)
By using the appropriate MPI wrapper corresponding to your compiler, you ensure smooth compilation and compatibility with MPI libraries and optimizations.
Important Version Information
When updating software, there may be significant changes to how you write and compile your code, which could impact the output of your programs. For more details on the revisions and deprecated features, refer to:
For further guidance, visit the Intel Developer Zone.