summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaryl W. Grunau <DarylGrunau@gmail.com>2022-08-23 01:14:22 -0600
committerGitHub <noreply@github.com>2022-08-23 09:14:22 +0200
commit409566601379f794d92ef1512835ac3e2c25de87 (patch)
tree94fc9c9d5ceb9b9a54447c27388ce63f90b2a76b
parent877393e01957551efba86a8a098af6f6357b3b98 (diff)
downloadspack-409566601379f794d92ef1512835ac3e2c25de87.tar.gz
spack-409566601379f794d92ef1512835ac3e2c25de87.tar.bz2
spack-409566601379f794d92ef1512835ac3e2c25de87.tar.xz
spack-409566601379f794d92ef1512835ac3e2c25de87.zip
eospac: support intel-classic@2021 (#32323)
Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
-rw-r--r--var/spack/repos/builtin/packages/eospac/640-ic2021.patch17
-rw-r--r--var/spack/repos/builtin/packages/eospac/641-ic2021.patch17
-rw-r--r--var/spack/repos/builtin/packages/eospac/642-ic2021.patch17
-rw-r--r--var/spack/repos/builtin/packages/eospac/650-ic2021.patch17
-rw-r--r--var/spack/repos/builtin/packages/eospac/package.py8
5 files changed, 76 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/eospac/640-ic2021.patch b/var/spack/repos/builtin/packages/eospac/640-ic2021.patch
new file mode 100644
index 0000000000..f5862ee3c0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/eospac/640-ic2021.patch
@@ -0,0 +1,17 @@
+--- a/Source/config/Makefile.-linux-gnu.hashes 2019-02-25 13:02:10.000000000 -0700
++++ b/Source/config/Makefile.-linux-gnu.hashes 2022-08-22 16:42:16.389092431 -0600
+@@ -214,6 +214,14 @@
+ $(call set,_F90-CPUINFO_COMP_FLAGS,ifort-19-haswell, -qopenmp-simd -fp-speculation=safe -xCORE-AVX2 -no-fma $(INTEL_DIAG_OPTIONS))
+ $(call set,_F90-CPUINFO_COMP_FLAGS,ifort-19-knl, -qopenmp-simd -fp-speculation=safe -xMIC-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
+
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx, -qopenmp-simd -fp-speculation=safe -xAVX -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx2, -qopenmp-simd -fp-speculation=safe -xCORE-AVX2 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx512, -qopenmp-simd -fp-speculation=safe -xCOMMON-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx512f, -qopenmp-simd -fp-speculation=safe -xCOMMON-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx512pf, -qopenmp-simd -fp-speculation=safe -xMIC-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-haswell, -qopenmp-simd -fp-speculation=safe -xCORE-AVX2 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-knl, -qopenmp-simd -fp-speculation=safe -xMIC-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
++
+ ### GNU Fortran:
+ GNU_DIAG_OPTIONS = -fopt-info-vec
+ $(call set,_F90-CPUINFO_COMP_FLAGS,gfortran-4-avx, -ftree-vectorize -mavx -mno-fma -DDISABLE_OMP_SIMD_PRAGMA)
diff --git a/var/spack/repos/builtin/packages/eospac/641-ic2021.patch b/var/spack/repos/builtin/packages/eospac/641-ic2021.patch
new file mode 100644
index 0000000000..eaabcb3ce2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/eospac/641-ic2021.patch
@@ -0,0 +1,17 @@
+--- a/Source/config/Makefile.-linux-gnu.hashes 2020-09-01 19:26:51.000000000 -0600
++++ b/Source/config/Makefile.-linux-gnu.hashes 2022-08-22 16:45:19.266087035 -0600
+@@ -233,6 +233,14 @@
+ $(call set,_F90-CPUINFO_COMP_FLAGS,ifort-20-haswell, -qopenmp-simd -fp-speculation=safe -xCORE-AVX2 -no-fma $(INTEL_DIAG_OPTIONS))
+ $(call set,_F90-CPUINFO_COMP_FLAGS,ifort-20-knl, -qopenmp-simd -fp-speculation=safe -xMIC-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
+
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx, -qopenmp-simd -fp-speculation=safe -xAVX -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx2, -qopenmp-simd -fp-speculation=safe -xCORE-AVX2 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx512, -qopenmp-simd -fp-speculation=safe -xCOMMON-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx512f, -qopenmp-simd -fp-speculation=safe -xCOMMON-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx512pf, -qopenmp-simd -fp-speculation=safe -xMIC-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-haswell, -qopenmp-simd -fp-speculation=safe -xCORE-AVX2 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-knl, -qopenmp-simd -fp-speculation=safe -xMIC-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
++
+ ### GNU Fortran:
+ GNU_DIAG_OPTIONS = -fopt-info-vec
+ $(call set,_F90-CPUINFO_COMP_FLAGS,gfortran-4-avx, -ftree-vectorize -mavx -mno-fma -DDISABLE_OMP_SIMD_PRAGMA)
diff --git a/var/spack/repos/builtin/packages/eospac/642-ic2021.patch b/var/spack/repos/builtin/packages/eospac/642-ic2021.patch
new file mode 100644
index 0000000000..5e3dde8f56
--- /dev/null
+++ b/var/spack/repos/builtin/packages/eospac/642-ic2021.patch
@@ -0,0 +1,17 @@
+--- a/Source/config/Makefile.-linux-gnu.hashes 2021-02-03 11:42:33.000000000 -0700
++++ b/Source/config/Makefile.-linux-gnu.hashes 2022-08-22 16:46:48.249084410 -0600
+@@ -242,6 +242,14 @@
+ $(call set,_F90-CPUINFO_COMP_FLAGS,ifort-20-haswell, -qopenmp-simd -fp-speculation=safe -xCORE-AVX2 -no-fma $(INTEL_DIAG_OPTIONS))
+ $(call set,_F90-CPUINFO_COMP_FLAGS,ifort-20-knl, -qopenmp-simd -fp-speculation=safe -xMIC-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
+
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx, -qopenmp-simd -fp-speculation=safe -xAVX -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx2, -qopenmp-simd -fp-speculation=safe -xCORE-AVX2 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx512, -qopenmp-simd -fp-speculation=safe -xCOMMON-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx512f, -qopenmp-simd -fp-speculation=safe -xCOMMON-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx512pf, -qopenmp-simd -fp-speculation=safe -xMIC-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-haswell, -qopenmp-simd -fp-speculation=safe -xCORE-AVX2 -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-knl, -qopenmp-simd -fp-speculation=safe -xMIC-AVX512 -no-fma $(INTEL_DIAG_OPTIONS))
++
+ ### GNU Fortran:
+ GNU_DIAG_OPTIONS = -fopt-info-vec
+ $(call set,_F90-CPUINFO_COMP_FLAGS,gfortran-4-avx, -ftree-vectorize -mavx -mno-fma -DDISABLE_OMP_SIMD_PRAGMA)
diff --git a/var/spack/repos/builtin/packages/eospac/650-ic2021.patch b/var/spack/repos/builtin/packages/eospac/650-ic2021.patch
new file mode 100644
index 0000000000..16729e99a9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/eospac/650-ic2021.patch
@@ -0,0 +1,17 @@
+--- a/Source/config/Makefile.-linux-gnu.hashes 2021-09-20 07:27:28.000000000 -0600
++++ b/Source/config/Makefile.-linux-gnu.hashes 2022-08-22 16:48:14.802081857 -0600
+@@ -336,6 +336,14 @@
+ $(call set,_F90-CPUINFO_COMP_FLAGS,ifort-20-haswell, -qopenmp-simd -fp-speculation=safe $(AVX_FLAGS) -no-fma $(INTEL_DIAG_OPTIONS))
+ $(call set,_F90-CPUINFO_COMP_FLAGS,ifort-20-knl, -qopenmp-simd -fp-speculation=safe $(AVX_FLAGS) -no-fma $(INTEL_DIAG_OPTIONS))
+
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx, -qopenmp-simd -fp-speculation=safe $(AVX_FLAGS) -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx2, -qopenmp-simd -fp-speculation=safe $(AVX_FLAGS) -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx512, -qopenmp-simd -fp-speculation=safe $(AVX_FLAGS) -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx512f, -qopenmp-simd -fp-speculation=safe $(AVX_FLAGS) -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-avx512pf, -qopenmp-simd -fp-speculation=safe $(AVX_FLAGS) -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-haswell, -qopenmp-simd -fp-speculation=safe $(AVX_FLAGS) -no-fma $(INTEL_DIAG_OPTIONS))
++$(call set,_F90-CPUINFO_COMP_FLAGS,ifort-2021-knl, -qopenmp-simd -fp-speculation=safe $(AVX_FLAGS) -no-fma $(INTEL_DIAG_OPTIONS))
++
+ ### Intel OneAPI Fortran:
+ $(call set,_F90-CPUINFO_COMP_FLAGS,ifx-2021-avx, -qopenmp-simd -fp-speculation=safe -xAVX -no-fma $(INTEL_DIAG_OPTIONS))
+ $(call set,_F90-CPUINFO_COMP_FLAGS,ifx-2021-avx2, -qopenmp-simd -fp-speculation=safe -xCORE-AVX2 -no-fma $(INTEL_DIAG_OPTIONS))
diff --git a/var/spack/repos/builtin/packages/eospac/package.py b/var/spack/repos/builtin/packages/eospac/package.py
index 8ea7e5de47..a3737cf12a 100644
--- a/var/spack/repos/builtin/packages/eospac/package.py
+++ b/var/spack/repos/builtin/packages/eospac/package.py
@@ -108,6 +108,12 @@ class Eospac(Package):
# This patch corrects EOSPAC's selection of compiler flags when
# compilers are specified using absolute pathnames.
patch("cpuinfo_comp_flags_key.patch", when="@:6.4.1,6.4.2beta")
+ # This patchset corrects EOSPAC's selection of compiler flags when
+ # intel-classic@2021 is used.
+ patch("650-ic2021.patch", when="@6.5.0%intel")
+ patch("642-ic2021.patch", when="@6.4.2%intel")
+ patch("641-ic2021.patch", when="@6.4.1%intel")
+ patch("640-ic2021.patch", when="@6.4.0%intel")
# GPU offload is only available for version 6.5+
variant("offload", default=False, description="Build GPU offload library instead of standard")
@@ -129,6 +135,8 @@ class Eospac(Package):
# but gcc@10 flipped to default fno-common
if "%gcc@10:" in spec:
compilerArgs.append("CFLAGS=-fcommon")
+ if self.run_tests:
+ make("check", *compilerArgs)
make(
"install",
"prefix={0}".format(prefix),