This document describes the procedure for downloading, installing and using the Intel OneAPI Toolkits on a x86_64 Bright cluster.
Downloading the Intel OneAPI Toolkits
The Intel OneAPI Toolkits can be found via https://software.intel.com/oneapi/ Select: “Get the Toolkits”.
- Select: “Intel® oneAPI Base Toolkit”
- Select: “Download”
- Select: “Download the Toolkit”
- Select: “Get It Now”
- Select as operating system: “Linux”
- Select as distribution: “Online & Offline (recommended)”
- Select as installer: “Offline”
- Select: “Download”
At the time of this writing(2024), clicking Download provided a file called l_BaseKit_p_2024.0.1.46_offline.sh
.
For the OneAPI HPC Toolkit, take the following steps:
- Select: “Intel® oneAPI HPC Toolkit”
- Select: “Download”
- Select: “Download the Toolkit”
- Select: “Get It Now”
- Select as operating system: “Linux”
- Select as distribution: “Online & Offline (recommended)”
- Select as installer: “Offline”
- Select: “Download”
At the time of this writing (2024), clicking Download provided a file calledl_HPCKit_p_2024.0.1.38_offline.sh
.
The default install location for the Intel OneAPI Toolkits is /opt
. To be able to access the toolkits across all the nodes in a Bright cluster, the following examples will use the --install-dir
option of the above scripts to install it to a directory under/cm/shared
on the head node.
Installing the Intel OneAPI Base Toolkit
The following command installs the Base toolkit in the /cm/shared/apps/intel/oneapi
directory on the head node:
bash l_BaseKit_p_2024.0.1.46_offline.sh -a --silent --eula=accept --install-dir=/cm/shared/apps/intel/oneapi
Example output:
# bash l_BaseKit_p_2024.0.1.46_offline.sh -a --silent --eula=accept --install-dir=/cm/shared/apps/intel/oneapi
Extract l_BaseKit_p_2024.0.1.46_offline to /root/DEV/l_BaseKit_p_2024.0.1.46_offline...
[##########################################################################################################################################################]
Extract l_BaseKit_p_2024.0.1.46_offline completed!
Checking system requirements... Done.
Wait while the installer is preparing... Done.
Launching the installer...
...
...
Start installation flow...
Installed Location: /cm/shared/apps/intel/oneapi
Installation has successfully completed
Log file: /cm/shared/apps/intel/oneapi/logs/installer.install.intel.oneapi.lin.basekit.product,v=2024.0.1+43.2024.01.23.16.19.45.699078.log
Remove extracted files: /root/Downloads/intel-oneapi/l_BaseKit_p_2024.0.1.46_offline...
The install logs can be found in the directory:/cm/shared/apps/intel/oneapi/logs
.
Installing the Intel OneAPI HPC Toolkit
The following command installs the HPC toolkit in the /cm/shared/apps/intel/oneapi
directory on the head node:
bash l_HPCKit_p_<version>.sh -a --silent --eula=accept --install-dir=/cm/shared/apps/intel/oneapi
Example output:
# bash l_HPCKit_p_2024.0.1.38_offline.sh -a --silent --eula=accept --install-dir=/cm/shared/apps/intel/oneapi
Extract l_HPCKit_p_2024.0.1.38_offline to /root/DEV/l_HPCKit_p_2024.0.1.38_offline...
[#########################################################################################################################################################]
Extract l_HPCKit_p_2024.0.1.38_offline completed!
Checking system requirements... Done.
Wait while the installer is preparing... Done.
...
...
Installed Location: /cm/shared/apps/intel/oneapi
Installation has successfully completed
Log file: /cm/shared/apps/intel/oneapi/logs/installer.install.intel.oneapi.lin.hpckit.product,v=2024.0.1+43.2024.01.23.16.19.45.699078.log
Remove extracted files: /root/Downloads/intel-oneapi/l_HPCKit_p_2024.0.1.38_offline...
The install logs can be found in the directory: /cm/shared/apps/intel/oneapi/logs
.
Installing the module files for Intel OneAPI Toolkits
The following commands install the environment module files for the OneAPI Toolkits in the /cm/shared/intel-oneapi-modulefiles
directory, the standard way on a Bright cluster for making environment modules available on all nodes in a cluster.
Install module files to the /cm/shared/intel-oneapi-modulefiles directory and also create latest
links to point to the latest versions:
/cm/shared/apps/intel/oneapi/modulefiles-setup.sh --output-dir=/cm/shared/intel-oneapi-modulefiles
Install module files to the /cm/shared/intel-oneapi-modulefiles directory and also but do not create the latest
links:
/cm/shared/apps/intel/oneapi/modulefiles-setup.sh --output-dir=/cm/shared/intel-oneapi-modulefiles --ignore-latest
Example output:
# /cm/shared/apps/intel/oneapi/modulefiles-setup.sh --output-dir=/cm/shared/intel-oneapi-modulefiles --ignore-latest
:: Initializing oneAPI modulefiles folder ...
:: Removing any previous oneAPI modulefiles folder content.
:: WARNING: "/cm/shared/intel-oneapi-modulefiles" exists and will be deleted.
Okay to proceed with deletion? [yn] y
:: Generating oneAPI modulefiles folder links.
...
:: oneAPI modulefiles folder initialized.
:: oneAPI modulefiles folder is here: "/cm/shared/intel-oneapi-modulefiles"
Create the module file /cm/shared/modulefiles/intel-oneapi
using the following content:
cat << EOF > /cm/shared/modulefiles/intel-oneapi
#%Module1.0#######################################################################
## default modulefile
##
proc ModulesHelp { } {
puts stderr "\tAdds Intel OneAPI shared modules to module environment"
}
module-whatis "adds Intel OneAPI shared modules"
module use --append /cm/shared/intel-oneapi-modulefiles
EOF
Example of using a toolkit component
The following example show how to use the icx compiler by loading the appropriate environment modules:
# module load shared # (if not loaded already)
# module load intel-oneapi
# module load tbb oclfpga compiler-rt intel_ipp_intel64 mkl mpi compiler
Loading modulefiles version 2021.11
# icx -V
Intel(R) oneAPI DPC++/C++ Compiler for applications running on Intel(R) 64, Version 2024.0.2 Build 20231213
Copyright (C) 1985-2023 Intel Corporation. All rights reserved.
Additional Information
- Multiple Intel OneAPI toolkits and multiple versions of toolkits can be installed in the same install directory ( e.g.,
/cm/shared/apps/intel/oneapi
).
- After installing a new toolkit or a new version of a toolkit, the
modulefiles-setup.sh
can be run to update the module files, as shown below:
/cm/shared/apps/intel/oneapi/modulefiles-setup.sh --output-dir=/cm/shared/intel-oneapi-modulefiles --ignore-latest
- The reason for placing the module files in a dedicated directory
/cm/shared/intel-oneapi-modulefiles
is because during creation or updating the modules using the modulefiles-setup.sh
script, the modules directory gets re-created.