diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2019-10-23 06:40:45 +0200 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2019-10-22 21:40:45 -0700 |
commit | 8808207ddf711a63a67ead632f6dd7457bc22616 (patch) | |
tree | a4f497ae21f61df39d8be7806e19970741336825 | |
parent | a942d2dd3d76216d51b85e2bc0a4675fd8523dc7 (diff) | |
download | spack-8808207ddf711a63a67ead632f6dd7457bc22616.tar.gz spack-8808207ddf711a63a67ead632f6dd7457bc22616.tar.bz2 spack-8808207ddf711a63a67ead632f6dd7457bc22616.tar.xz spack-8808207ddf711a63a67ead632f6dd7457bc22616.zip |
Fixed optimization flags support for old GCC versions (#13362)
These changes update our gcc microarchitecture descriptions based on manuals found here https://gcc.gnu.org/onlinedocs/ and assuming that new architectures are not added during patch releases.
-rw-r--r-- | lib/spack/llnl/util/cpu/microarchitectures.json | 38 | ||||
-rw-r--r-- | lib/spack/spack/test/architecture.py | 2 | ||||
-rw-r--r-- | lib/spack/spack/test/concretize.py | 4 | ||||
-rw-r--r-- | lib/spack/spack/test/modules/lmod.py | 2 |
4 files changed, 24 insertions, 22 deletions
diff --git a/lib/spack/llnl/util/cpu/microarchitectures.json b/lib/spack/llnl/util/cpu/microarchitectures.json index 28734e1da9..6873fc9676 100644 --- a/lib/spack/llnl/util/cpu/microarchitectures.json +++ b/lib/spack/llnl/util/cpu/microarchitectures.json @@ -56,7 +56,7 @@ "flags": "-march={name} -mtune=generic" }, { - "versions": "4.0:4.1.2", + "versions": ":4.1.2", "name": "x86-64", "flags": "-march={name} -mtune={name}" } @@ -84,7 +84,7 @@ ], "compilers": { "gcc": { - "versions": "4:", + "versions": "4.0.4:", "flags": "-march={name} -mtune={name}" }, "clang": { @@ -110,7 +110,7 @@ ], "compilers": { "gcc": { - "versions": "4:", + "versions": "4.3.0:", "flags": "-march={name} -mtune={name}" }, "clang": { @@ -260,7 +260,7 @@ "flags": "-march={name} -mtune={name}" }, { - "versions": ":4.8.5", + "versions": "4.6:4.8.5", "name": "core-avx-i", "flags": "-march={name} -mtune={name}" } @@ -312,7 +312,7 @@ "flags": "-march={name} -mtune={name}" }, { - "versions": ":4.8.5", + "versions": "4.8:4.8.5", "name": "core-avx2", "flags": "-march={name} -mtune={name}" } @@ -404,7 +404,7 @@ ], "compilers": { "gcc": { - "versions": "5.3:", + "versions": "6.0:", "flags": "-march={name} -mtune={name}" }, "clang": { @@ -502,7 +502,7 @@ "compilers": { "gcc": { "name": "skylake-avx512", - "versions": "5.3:", + "versions": "6.0:", "flags": "-march={name} -mtune={name}" }, "clang": { @@ -556,7 +556,7 @@ ], "compilers": { "gcc": { - "versions": "8:", + "versions": "8.0:", "flags": "-march={name} -mtune={name}" }, "clang": { @@ -606,7 +606,7 @@ ], "compilers": { "gcc": { - "versions": "9:", + "versions": "9.0:", "flags": "-march={name} -mtune={name}" }, "clang": { @@ -671,7 +671,7 @@ "compilers": { "gcc": { "name": "icelake-client", - "versions": "8:", + "versions": "8.0:", "flags": "-march={name} -mtune={name}" }, "clang": [ @@ -716,7 +716,7 @@ "compilers": { "gcc": { "name": "bdver1", - "versions": "4.6:", + "versions": "4.7:", "flags": "-march={name} -mtune={name}" }, "clang": { @@ -897,7 +897,7 @@ "compilers": { "gcc": { "name": "znver1", - "versions": "6:", + "versions": "6.0:", "flags": "-march={name} -mtune={name}" }, "clang": { @@ -948,7 +948,7 @@ "compilers": { "gcc": { "name": "znver2", - "versions": "9:", + "versions": "9.0:", "flags": "-march={name} -mtune={name}" }, "clang": { @@ -972,7 +972,7 @@ "compilers": { "gcc": { "name": "powerpc64", - "versions": "4:", + "versions": ":", "flags": "-mcpu={name} -mtune={name}" }, "clang": { @@ -989,7 +989,7 @@ "features": [], "compilers": { "gcc": { - "versions": "4.5:", + "versions": "4.4:", "flags": "-mcpu={name} -mtune={name}" }, "clang": { @@ -1032,7 +1032,7 @@ "features": [], "compilers": { "gcc": { - "versions": "6:", + "versions": "6.0:", "flags": "-mcpu={name} -mtune={name}" }, "clang": { @@ -1050,7 +1050,7 @@ "compilers": { "gcc": { "name": "powerpc64le", - "versions": "4:", + "versions": "4.8:", "flags": "-mcpu={name} -mtune={name}" }, "clang": { @@ -1095,7 +1095,7 @@ "compilers": { "gcc": { "name": "power9", - "versions": "6:", + "versions": "6.0:", "flags": "-mcpu={name} -mtune={name}" }, "clang": { @@ -1112,7 +1112,7 @@ "features": [], "compilers": { "gcc": { - "versions": "4:", + "versions": "4.8.0:", "flags": "-march=armv8-a -mtune=generic" }, "clang": { diff --git a/lib/spack/spack/test/architecture.py b/lib/spack/spack/test/architecture.py index 35980d8a86..30aba65214 100644 --- a/lib/spack/spack/test/architecture.py +++ b/lib/spack/spack/test/architecture.py @@ -173,7 +173,7 @@ def test_arch_spec_container_semantic(item, architecture_str): @pytest.mark.parametrize('compiler_spec,target_name,expected_flags', [ # Check compilers with version numbers from a single toolchain - ('gcc@4.7.2', 'haswell', '-march=core-avx2 -mtune=core-avx2'), + ('gcc@4.7.2', 'ivybridge', '-march=core-avx-i -mtune=core-avx-i'), # Check mixed toolchains ('clang@8.0.0', 'broadwell', ''), # Check clang compilers with 'apple' suffix diff --git a/lib/spack/spack/test/concretize.py b/lib/spack/spack/test/concretize.py index f0c8e93bcf..592b515dbf 100644 --- a/lib/spack/spack/test/concretize.py +++ b/lib/spack/spack/test/concretize.py @@ -584,11 +584,13 @@ class TestConcretize(object): Spec(spec).concretized() @pytest.mark.parametrize('spec, best_achievable', [ + ('mpileaks%gcc@4.4.7', 'core2'), ('mpileaks%gcc@4.8', 'haswell'), - ('mpileaks%gcc@5.3.0', 'skylake_avx512'), + ('mpileaks%gcc@5.3.0', 'broadwell'), # Apple's clang always falls back to x86-64 for now ('mpileaks%clang@9.1.0-apple', 'x86_64') ]) + @pytest.mark.regression('13361') def test_adjusting_default_target_based_on_compiler( self, spec, best_achievable, current_host ): diff --git a/lib/spack/spack/test/modules/lmod.py b/lib/spack/spack/test/modules/lmod.py index e480d22601..34ba63c373 100644 --- a/lib/spack/spack/test/modules/lmod.py +++ b/lib/spack/spack/test/modules/lmod.py @@ -264,7 +264,7 @@ class TestLmod(object): assert writer.conf.core_compilers @pytest.mark.parametrize('spec_str', [ - 'mpileaks target=haswell', + 'mpileaks target=nocona', 'mpileaks target=core2', 'mpileaks target=x86_64', ]) |