Skip to content

Commit

Permalink
By default, use MKL as virtual provider for blas/lapack/fftw with Int…
Browse files Browse the repository at this point in the history
…el compilers (classic and llvm-based/oneapi); update site configs to revert to openblas/fftw as needed; skip wgrib2 with Intel oneapi; bump odc to 1.5.2 (#1226)

1. Split configs/common/packages.yaml into a compiler-independent configs/common/packages.yaml and compiler-dependent configs/common/packages_${COMPILER}.yaml; use openblas and fftw as virtual providers for blas, lapack, fftw-api with gnu@ and apple-clang@; use intel-oneapi-mkl with intel@ and oneapi@.

2. Site config updates for all sites: split packages.yaml into packages_${COMPILER}.yaml and add Intel MKL as external package for intel@ and oneapi@ compilers. Please follow the examples for blackpearl, narwhal, nautilus. Note that updating the site config does not imply testing the update (see section "Testing" below for which tests where done).

3. Update 2024/08/09: Certain site configs were modified to by default retain the openblas/fftw configuration with Intel - see list below. Steps to switch to the new default MKL configuration are documented in each site's packages_*.yaml.

4. Unrelated change but needed for gcc@13 support: bump odc from 1.4.6 to 1.5.2.
  • Loading branch information
climbfuji authored Aug 15, 2024
1 parent 5051022 commit 7168fec
Show file tree
Hide file tree
Showing 68 changed files with 1,131 additions and 809 deletions.
11 changes: 11 additions & 0 deletions .github/workflows/ubuntu-ci-x86_64-intel.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,17 @@ jobs:
echo " - spec: [email protected]%[email protected]" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
echo " prefix: /opt/intel/oneapi" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
# Add external Intel MKL and oneAPI runtime
echo "" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
echo " intel-oneapi-mkl:" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
echo " externals:" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
echo " - spec: [email protected]%[email protected]" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
echo " prefix: /opt/intel/oneapi" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
#echo " intel-oneapi-runtime:" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
#echo " externals:" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
#echo " - spec: [email protected]%[email protected]" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
#echo " prefix: /opt/intel/oneapi" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
# Add external ecflow for Intel
echo "" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
echo " ecflow::" >> ${SPACK_SYSTEM_CONFIG_PATH}/packages.yaml
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/ubuntu-ci-x86_64-oneapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,6 @@ jobs:
echo " target: x86_64" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
echo " modules: []" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
echo " environment: {}" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
echo " #prepend_path:" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
echo " # LD_LIBRARY_PATH: '/opt/intel/oneapi/compiler/2023.2.3/linux/compiler/lib/intel64_lin'" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
echo " extra_rpaths: []" >> ${SPACK_SYSTEM_CONFIG_PATH}/compilers.yaml
# Need to find external Intel MPI and annotate with the
Expand Down
Loading

0 comments on commit 7168fec

Please sign in to comment.