This repository provides a GitHub Action for downloading and caching the Intel Classic and oneAPI compilers for Linux, as well as OpenMP, MPI, and MKL. It is only intended to work with Ubuntu runners.
This repository supports NCEPLIBS CI workflows.
To submit bug reports, feature requests, or other code-related issues including usage questions, please create a GitHub issue. For general NCEPLIBS inquiries, contact Alex Richert (secondary point of contact Hang Lei).
To use this Action, include the following step in your GitHub Actions workflow:
- name: "Install Intel compilers & MPI"
uses: NOAA-EMC/ci-install-intel-toolkit@develop
with:
install-mpi: true
mpi-wrapper-setup: oneapi
| name | description | required | default |
|---|---|---|---|
install-classic |
Install Intel Classic compilers (icc/icpc/ifort) |
false |
true |
classic-version |
Set Intel Classic version |
false |
2023.2.1 |
install-oneapi |
Install Intel oneAPI compilers (icx/icpx/ifx) |
false |
true |
oneapi-version |
Set Intel oneAPI version |
false |
2025.3 |
install-mpi |
Install Intel MPI libraries |
false |
false |
mpi-version |
Set Intel MPI version |
false |
2021.10.0 |
mpi-wrapper-setup |
Choose compilers for MPI wrappers (options: classic, oneapi, none) |
false |
none |
install-openmp |
Install Intel OpenMP libraries |
false |
false |
openmp-version |
Set Intel OpenMP library version |
false |
2023.2.1 |
install-mkl |
Install Intel MKL |
false |
false |
mkl-version |
Set Intel MKL version |
false |
2023.2.0 |
env-update |
Apply environment modifications to $GITHUB_ENV |
false |
true |
cache |
Cache to repository cache with actions/cache |
false |
true |
shell |
Which shell to use/setup |
false |
bash |
compiler-setup |
Set CC, CXX, FC as part of environment setup ("env-update"); choose "oneapi" or "classic" |
false |
"" |
oneapi-fortran-compiler |
Set FC to ifx or ifort for oneAPI compilers (options: ifx, ifort; ifort only available 2023.x & 2024.x) |
false |
ifx |
force-cache-save |
Save cache as long as toolkit installation is successful (i.e., do not wait for whole workflow to finish) |
false |
true |
The United States Department of Commerce (DOC) GitHub project code is provided on an "as is" basis and the user assumes responsibility for its use. DOC has relinquished control of the information and no longer has responsibility to protect the integrity, confidentiality, or availability of the information. Any claims against the Department of Commerce stemming from the use of its GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by DOC or the United States Government.