Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP - IGNORE - Feature/oneapi #1032

Closed
wants to merge 12 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
[submodule "spack"]
path = spack
#url = https://github.com/spack/spack
#branch = develop
url = https://github.com/jcsda/spack
branch = jcsda_emc_spack_stack
##url = https://github.com/spack/spack
##branch = develop
#url = https://github.com/jcsda/spack
#branch = jcsda_emc_spack_stack
url = https://github.com/climbfuji/spack
branch = feature/oneapi
[submodule "doc/CMakeModules"]
path = doc/CMakeModules
url = https://github.com/noaa-emc/cmakemodules
Expand Down
3 changes: 0 additions & 3 deletions configs/common/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -227,9 +227,6 @@
# README.md
#py-mysql-connector-python:
# version: ['8.0.32']
py-netcdf4:
version: ['1.5.8']
variants: ~mpi
py-numpy:
require: ['@1.22.3']
py-pandas:
Expand Down
52 changes: 20 additions & 32 deletions configs/sites/aws-pcluster/compilers.yaml
Original file line number Diff line number Diff line change
@@ -1,50 +1,38 @@
compilers:
- compiler:
spec: intel@=2021.6.0
spec: oneapi@2024.0.2
paths:
cc: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/intel64/icc
cxx: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/intel64/icpc
f77: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/intel64/ifort
fc: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/intel64/ifort
flags: {}
operating_system: ubuntu20.04
cc: /opt/intel/oneapi/compiler/2024.0/bin/icx
cxx: /opt/intel/oneapi/compiler/2024.0/bin/icpx
f77: /opt/intel/oneapi/compiler/2024.0/bin/ifx
fc: /opt/intel/oneapi/compiler/2024.0/bin/ifx
flags:
cflags: --gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/11
cxxflags: --gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/11
# not sure this works/is needed fflags: --gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/11
# with ifort, need this for fflags: fflags: -diag-disable=10448
operating_system: ubuntu22.04
target: x86_64
modules: []
modules:
- tbb/2021.11
- compiler-rt/2024.0.2
- oclfpga/2024.0.0
- compiler/2024.0.2
- ifort/2024.0.2
environment:
prepend_path:
LD_LIBRARY_PATH: '/opt/intel/oneapi/compiler/2022.1.0/linux/compiler/lib/intel64_lin'
set:
I_MPI_PMI_LIBRARY: '/opt/slurm/lib/libpmi.so'
I_MPI_EXTRA_FILESYSTEM: 'ON'
extra_rpaths: []
#- compiler:
# spec: oneapi@2024.0.2
# paths:
# cc: /mnt/experiments-efs/intel-oneapi-2024.0.2/compiler/2024.0/bin/icx
# cxx: /mnt/experiments-efs/intel-oneapi-2024.0.2/compiler/2024.0/bin/icpx
# f77: /mnt/experiments-efs/intel-oneapi-2024.0.2/compiler/2024.0/bin/ifort
# fc: /mnt/experiments-efs/intel-oneapi-2024.0.2/compiler/2024.0/bin/ifort
# flags: {}
# operating_system: ubuntu20.04
# target: x86_64
# modules:
# - tbb/2021.11
# - compiler-rt/2024.0.2
# - oclfpga/2024.0.0
# - compiler/2024.0.2
# - ifort/2024.0.2
# environment:
# set:
# I_MPI_PMI_LIBRARY: '/opt/slurm/lib/libpmi.so'
# extra_rpaths: []
- compiler:
spec: gcc@9.4.0
spec: gcc@11.4.0
paths:
cc: /usr/bin/gcc
cxx: /usr/bin/g++
f77: /usr/bin/gfortran
fc: /usr/bin/gfortran
flags: {}
operating_system: ubuntu20.04
operating_system: ubuntu22.04
target: x86_64
modules: []
environment: {}
Expand Down
74 changes: 26 additions & 48 deletions configs/sites/aws-pcluster/packages.yaml
Original file line number Diff line number Diff line change
@@ -1,35 +1,26 @@
packages:
all:
compiler: [intel@2021.6.0, gcc@9.4.0]
#compiler: [oneapi@2024.0.2]
compiler: [oneapi@2024.0.2, gcc@11.4.0]
providers:
mpi: [intel-oneapi-mpi@2021.6.0, openmpi@4.1.4]
#mpi: [intel-oneapi-mpi@2021.11]
mpi: [intel-oneapi-mpi@2021.11, openmpi@4.1.6]

### MPI, Python, MKL
mpi:
buildable: false
intel-oneapi-mpi:
externals:
- spec: intel-oneapi-mpi@2021.6.0%intel@2021.6.0
prefix: /opt/intel
- spec: intel-oneapi-mpi@2021.11%oneapi@2024.0.2
prefix: /opt/intel/oneapi
modules:
- libfabric-aws/1.16.0~amzn4.0
- intelmpi
#externals:
#- spec: intel-oneapi-mpi@2021.11%oneapi@2024.0.2
# prefix: /mnt/experiments-efs/intel-oneapi-2024.0.2
# modules:
# - libfabric-aws/1.16.0~amzn4.0
# - mpi/2021.11
- libfabric-aws/1.19.0amzn4.0
- mpi/2021.11
openmpi:
externals:
- spec: openmpi@4.1.4%gcc@9.4.0~cuda~cxx~cxx_exceptions~java~memchecker+pmi~static~wrapper-rpath
- spec: openmpi@4.1.6%gcc@11.4.0~cuda~cxx~cxx_exceptions~java~memchecker+pmi~static~wrapper-rpath
fabrics=ofi schedulers=slurm
prefix: /opt/amazon/openmpi
modules:
- libfabric-aws/1.16.0~amzn4.0
- openmpi/4.1.4
- libfabric-aws/1.19.0amzn4.0
- openmpi/4.1.6

### Modification of common packages

Expand All @@ -40,52 +31,43 @@ packages:
### All other external packages listed alphabetically
autoconf:
externals:
- spec: autoconf@2.69
- spec: autoconf@2.71
prefix: /usr
automake:
externals:
- spec: automake@1.16.1
- spec: automake@1.16.5
prefix: /usr
binutils:
externals:
- spec: binutils@2.34
- spec: binutils@2.38
prefix: /usr
coreutils:
externals:
- spec: coreutils@8.30
- spec: coreutils@8.32
prefix: /usr
diffutils:
externals:
- spec: diffutils@3.7
- spec: diffutils@3.8
prefix: /usr
ecflow:
buildable: False
externals:
- spec: ecflow@5.8.4+ui+static_boost
prefix: /home/ubuntu/jedi/ecflow-5.8.4
findutils:
externals:
- spec: findutils@4.7.0
- spec: findutils@4.8.0
prefix: /usr
flex:
externals:
- spec: flex@2.6.4+lex
prefix: /usr
gawk:
externals:
- spec: gawk@5.0.1
- spec: gawk@5.1.0
prefix: /usr
git:
externals:
- spec: git@2.25.1~tcltk
- spec: git@2.34.1~tcltk
prefix: /usr
git-lfs:
externals:
- spec: git-lfs@2.9.2
prefix: /usr
gmake:
externals:
- spec: gmake@4.2.1
- spec: git-lfs@3.0.2
prefix: /usr
groff:
externals:
Expand All @@ -102,38 +84,34 @@ packages:
mysql:
buildable: False
externals:
- spec: mysql@8.0.32
prefix: /usr
perl:
externals:
- spec: perl@5.30.0~cpanm+shared+threads
- spec: mysql@8.0.35
prefix: /usr
pkg-config:
externals:
- spec: pkg-config@0.29.1
- spec: pkg-config@0.29.2
prefix: /usr
qt:
buildable: false
externals:
- spec: qt@5.12.8
- spec: qt@5.15.3
prefix: /usr
sed:
externals:
- spec: sed@4.7
- spec: sed@4.8
prefix: /usr
tar:
externals:
- spec: tar@1.30
- spec: tar@1.34
prefix: /usr
texinfo:
externals:
- spec: texinfo@6.7
- spec: texinfo@6.8
prefix: /usr
texlive:
externals:
- spec: texlive@20190410
- spec: texlive@20220204
prefix: /usr
wget:
externals:
- spec: wget@1.20.3
- spec: wget@1.21.1
prefix: /usr
3 changes: 3 additions & 0 deletions configs/templates/unified-dev/spack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,6 @@ spack:
- ai-env%intel
# jedi-tools doesn't build with Intel
- jedi-tools-env%intel
# wgrib2 in global-workflow-env/ufs-srw-app-env doesn't build with Intel oneAPI
- global-workflow-env%oneapi
- ufs-srw-app-env%oneapi
4 changes: 2 additions & 2 deletions doc/source/NewSiteConfigs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ It is also instructive to peruse the GitHub actions scripts in ``.github/workflo
+===========================================+======================================================================+===========================+
| Intel classic (icc, icpc, ifort) | 2021.3.0 to the latest available version in oneAPI 2023.1.0 | ``intel@`` |
+-------------------------------------------+----------------------------------------------------------------------+---------------------------+
| Intel mixed (icx, icpx, ifort) | all versions up to latest available version in oneAPI 2023.1.0 | ``intel@`` |
| Intel mixed (icx, icpx, ifort) | 2024.0 to the latest available version in oneAPI 2024.0.2 | ``oneapi@`` |
+-------------------------------------------+----------------------------------------------------------------------+---------------------------+
| GNU (gcc, g++, gfortran) | 9.2.0 to 12.2.0 (note: 13.x.y is **not** yet supported) | ``gcc@`` |
| GNU (gcc, g++, gfortran) | 9.2.0 to 12.3.0 (note: 13.x.y is **not** yet supported) | ``gcc@`` |
+-------------------------------------------+----------------------------------------------------------------------+---------------------------+
| Apple clang (clang, clang++, w/ gfortran) | 13.1.6 to 15.0.0 | ``apple-clang@`` |
+-------------------------------------------+----------------------------------------------------------------------+---------------------------+
Expand Down
2 changes: 1 addition & 1 deletion spack-ext/repos/spack-stack/packages/shumlib/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ def build(self, spec, prefix):
os.system("make -f make/vm-x86-gfortran-clang.mk")
elif spec.satisfies("%gcc"):
os.system("make -f make/vm-x86-gfortran-gcc.mk")
elif spec.satisfies("%intel"):
elif spec.satisfies("%intel") or spec.satisfies("%oneapi"):
os.system("make -f make/vm-x86-ifort-icc.mk")
else:
raise InstallError("No shumlib make config for this compiler")
Expand Down
Loading