Skip to content
62 changes: 62 additions & 0 deletions configs/sites/tier1/blueback/packages_oneapi-2026.0.0.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
packages:
all:
require:
- any_of: ['%intel-oneapi-compilers@=2026.0.0']
when: '%intel-oneapi-compilers'
- any_of: ['%gcc@=13.3.0']
when: '%gcc'
mpi:
buildable: false
require:
- cray-mpich@8.1.32
intel-oneapi-compilers:
buildable: false
externals:
- spec: intel-oneapi-compilers@2026.0.0 +fix_rt_linkage
prefix: /p/app/projects/NEPTUNE/spack-stack/oneapi-2026.0.0
modules:
- PrgEnv-intel/8.6.0
- intel-oneapi/2026.0.0
extra_attributes:
compilers:
c: /p/app/projects/NEPTUNE/spack-stack/oneapi-2026.0.0/2026.0/bin/icx
cxx: /p/app/projects/NEPTUNE/spack-stack/oneapi-2026.0.0/2026.0/bin/icpx
fortran: /p/app/projects/NEPTUNE/spack-stack/oneapi-2026.0.0/2026.0/bin/ifx
environment:
set:
CONFIG_SITE: ''
gcc:
buildable: false
externals:
- spec: gcc@13.3.0 languages:='c,c++'
prefix: /usr
modules:
- PrgEnv-gnu/8.6.0
- gcc-native/13.2
extra_attributes:
compilers:
c: /usr/bin/gcc
cxx: /usr/bin/g++
fortran: /usr/bin/gfortran
environment:
set:
CONFIG_SITE: ''
PE_GCC_EXTERNAL: native
cray-mpich:
buildable: false
externals:
- spec: cray-mpich@8.1.32
prefix: /opt/cray/pe/mpich/8.1.32/ofi/INTEL/2022.1
modules:
- libfabric/1.22.0
- craype-network-ofi
- cray-mpich/8.1.32
extra_attributes:
environment:
prepend_path:
CMAKE_PREFIX_PATH: /p/app/projects/NEPTUNE/spack-stack/cmake-findmpi
intel-oneapi-mkl:
buildable: false
externals:
- spec: intel-oneapi-mkl@2026.0
prefix: /p/app/projects/NEPTUNE/spack-stack/oneapi-2026.0.0
41 changes: 41 additions & 0 deletions configs/sites/tier2/bounty/packages_oneapi-2026.0.0.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
packages:
all:
require:
- any_of: ['%intel-oneapi-compilers@=2026.0.0']
when: '%intel-oneapi-compilers'
- any_of: ['%gcc@=11.5.0']
when: '%gcc'
mpi:
buildable: False
require:
- "intel-oneapi-mpi@2021.18"
intel-oneapi-compilers:
buildable: false
externals:
- spec: intel-oneapi-compilers@2026.0.0 +fix_rt_linkage
prefix: /opt/intel/oneapi
extra_attributes:
compilers:
c: /opt/intel/oneapi/2026.0/bin/icx
cxx: /opt/intel/oneapi/2026.0/bin/icpx
fortran: /opt/intel/oneapi/2026.0/bin/ifx
gcc:
buildable: false
externals:
- spec: gcc@11.5.0 languages:='c,c++'
prefix: /usr
extra_attributes:
compilers:
c: /usr/bin/gcc
cxx: /usr/bin/g++
fortran: /usr/bin/gfortran
intel-oneapi-mpi:
buildable: false
externals:
- spec: intel-oneapi-mpi@2021.18
prefix: /opt/intel/oneapi
intel-oneapi-mkl:
buildable: false
externals:
- spec: intel-oneapi-mkl@2026.0
prefix: /opt/intel/oneapi
2 changes: 1 addition & 1 deletion repos/builtin
7 changes: 6 additions & 1 deletion util/nrl/batch_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ case ${SPACK_STACK_BATCH_HOST} in
SPACK_STACK_CARGO_MIRROR="/neptune_diagnostics/spack-stack/cargo-mirror"
;;
blueback)
SPACK_STACK_BATCH_COMPILERS=("oneapi@=2025.0.4" "gcc@=13.3.0" "gcc@=14.3.0") # oneapi@=2025.2.1
SPACK_STACK_BATCH_COMPILERS=("oneapi@=2025.0.4" "oneapi@=2026.0.0" "gcc@=13.3.0" "gcc@=14.3.0")
SPACK_STACK_BATCH_TEMPLATES=("neptune-dev" "unified-dev" "cylc-dev")
SPACK_STACK_MODULE_CHOICE="tcl"
SPACK_STACK_BOOTSTRAP_MIRROR="/p/app/projects/NEPTUNE/spack-stack/bootstrap-mirror"
Expand Down Expand Up @@ -502,6 +502,11 @@ for compiler in "${SPACK_STACK_BATCH_COMPILERS[@]}"; do
set +e
module purge
set -e
case ${compiler} in
oneapi@=2026.0.0)
module use /p/app/projects/NEPTUNE/spack-stack/oneapi-2026.0.0/modulefiles
;;
esac
;;
narwhal)
umask 0022
Expand Down
92 changes: 92 additions & 0 deletions util/nrl/intel_oneapi-2026.0.0_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#!/usr/bin/env bash

set -eu

umask 0022
module purge

if [ "$#" -lt 1 ]; then
echo "Error: Not enough arguments. Provide Intel oneAPI installation prefix."
exit 1
fi

ONEAPI_INSTALL_DIR=${1}
ONEAPI_VERSION="2026.0.0"
COMPILER_VERSION="2026.0"
MKL_VERSION="2026.0"
ONEAPI_DOWNLOAD_URL=https://registrationcenter-download.intel.com/akdlm/IRC_NAS/71180075-e4e3-4c6f-bbbb-19017ed0cf7d/intel-oneapi-toolkit-2026.0.0.198_offline.sh

mkdir -p ${ONEAPI_INSTALL_DIR}/src
cd ${ONEAPI_INSTALL_DIR}/src
wget ${ONEAPI_DOWNLOAD_URL}
ONEAPI_INSTALL_SCRIPT="${ONEAPI_DOWNLOAD_URL##*/}"
sh ./${ONEAPI_INSTALL_SCRIPT} -a --silent --eula accept --install-dir ${ONEAPI_INSTALL_DIR} --intel-sw-improvement-program-consent decline 2>&1 | tee log.install

# Check that compiler and mkl versions are correct
if [ ! -d "${ONEAPI_INSTALL_DIR}/compiler/${COMPILER_VERSION}" ]; then
echo "Error, directory ${ONEAPI_INSTALL_DIR}/compiler/${COMPILER_VERSION} does not exist"
exit 1
fi
if [ ! -d "${ONEAPI_INSTALL_DIR}/mkl/${MKL_VERSION}" ]; then
echo "Error, directory ${ONEAPI_INSTALL_DIR}/mkl/${MKL_VERSION} does not exist"
exit 1
fi

# Create modulefiles - special modules for Cray, Intel auto-generated modules elsewhere
HOSTNAME=$(hostname)
if [[ "${HOSTNAME}" == *"blueback"* || "${HOSTNAME}" == *"narwhal"* ]]; then
mkdir -p ${ONEAPI_INSTALL_DIR}/modulefiles/intel-oneapi
cat << EOF > ${ONEAPI_INSTALL_DIR}/modulefiles/intel-oneapi/2026.0.0
#%Module
#
# Intel oneAPI module
#

conflict intel
conflict intel-classic
conflict intel-oneapi

set INTEL_CURPATH ${ONEAPI_INSTALL_DIR}/compiler/${COMPILER_VERSION}
set INTEL_LEVEL ${COMPILER_VERSION}

setenv INTEL_PATH \$INTEL_CURPATH
setenv INTEL_VERSION \$INTEL_LEVEL
setenv INTEL_COMPILER_TYPE "ONEAPI"

prepend-path {LD_LIBRARY_PATH} {${ONEAPI_INSTALL_DIR}/compiler/${COMPILER_VERSION}/opt/compiler/lib:${ONEAPI_INSTALL_DIR}/compiler/${COMPILER_VERSION}/lib}
setenv {OCL_ICD_FILENAMES} {${ONEAPI_INSTALL_DIR}/compiler/${COMPILER_VERSION}/lib/libintelocl.so}
setenv {CMPLR_ROOT} {${ONEAPI_INSTALL_DIR}/compiler/${COMPILER_VERSION}}
prepend-path {CMAKE_PREFIX_PATH} {${ONEAPI_INSTALL_DIR}/compiler/${COMPILER_VERSION}}
prepend-path {NLSPATH} {}
prepend-path {LIBRARY_PATH} {${ONEAPI_INSTALL_DIR}/compiler/${COMPILER_VERSION}/lib}
prepend-path {DIAGUTIL_PATH} {}
prepend-path {MANPATH} {${ONEAPI_INSTALL_DIR}/compiler/${COMPILER_VERSION}/share/man}
prepend-path {PATH} {${ONEAPI_INSTALL_DIR}/compiler/${COMPILER_VERSION}/bin}
prepend-path {PKG_CONFIG_PATH} {${ONEAPI_INSTALL_DIR}/compiler/${COMPILER_VERSION}/lib/pkgconfig}
prepend-path {LD_LIBRARY_PATH} {${ONEAPI_INSTALL_DIR}/mkl/${MKL_VERSION}/lib}
prepend-path {CMAKE_PREFIX_PATH} {${ONEAPI_INSTALL_DIR}/mkl/${MKL_VERSION}/lib/cmake}
prepend-path {CPATH} {${ONEAPI_INSTALL_DIR}/mkl/${MKL_VERSION}/include}
prepend-path {LIBRARY_PATH} {${ONEAPI_INSTALL_DIR}/mkl/${MKL_VERSION}/lib}
setenv {MKLROOT} {${ONEAPI_INSTALL_DIR}/mkl/${MKL_VERSION}}
prepend-path {PATH} {${ONEAPI_INSTALL_DIR}/mkl/${MKL_VERSION}/bin}
prepend-path {PKG_CONFIG_PATH} {${ONEAPI_INSTALL_DIR}/mkl/${MKL_VERSION}/lib/pkgconfig}

proc ModulesHelp { } {
global INTEL_LEVEL
global INTEL_CURPATH
}

# This module was produced with dom-gen 0.0.1

module-whatis "Intel oneAPI compiler"
EOF

else
cd ${ONEAPI_INSTALL_DIR}
./modulefiles-setup.sh --output-dir=${ONEAPI_INSTALL_DIR}/modulefiles --ignore-latest 2>&1 | tee log.modulefiles
# Fix non-ascii symbols in Intel modulefiles; must follow links
for file in `find ./modulefiles -type l`; do
echo $file
sed -i --follow-symlinks 's/®//g' $file
done
fi
Loading