diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2024-10-14 19:09:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-14 19:09:17 +0200 |
commit | 66a3c7bc4266f650a5aeb814489cf3143c7da517 (patch) | |
tree | bfe7554deb161ddf99b31d8dfd19ff1c0905e00b | |
parent | 8b3d3ac2de3809479f1594e4afec7587abfe8e55 (diff) | |
download | spack-66a3c7bc4266f650a5aeb814489cf3143c7da517.tar.gz spack-66a3c7bc4266f650a5aeb814489cf3143c7da517.tar.bz2 spack-66a3c7bc4266f650a5aeb814489cf3143c7da517.tar.xz spack-66a3c7bc4266f650a5aeb814489cf3143c7da517.zip |
archspec: update to v0.2.5 (#46958)
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
-rw-r--r-- | lib/spack/external/__init__.py | 2 | ||||
-rw-r--r-- | lib/spack/external/archspec/cpu/microarchitecture.py | 25 | ||||
-rw-r--r-- | lib/spack/external/archspec/json/cpu/microarchitectures.json | 79 |
3 files changed, 96 insertions, 10 deletions
diff --git a/lib/spack/external/__init__.py b/lib/spack/external/__init__.py index 603cb412c8..672bf17f80 100644 --- a/lib/spack/external/__init__.py +++ b/lib/spack/external/__init__.py @@ -18,7 +18,7 @@ archspec * Homepage: https://pypi.python.org/pypi/archspec * Usage: Labeling, comparison and detection of microarchitectures -* Version: 0.2.5-dev (commit bceb39528ac49dd0c876b2e9bf3e7482e9c2be4a) +* Version: 0.2.5 (commit 38ce485258ffc4fc6dd6688f8dc90cb269478c47) astunparse ---------------- diff --git a/lib/spack/external/archspec/cpu/microarchitecture.py b/lib/spack/external/archspec/cpu/microarchitecture.py index 3f4e30fab5..bb85b9f37c 100644 --- a/lib/spack/external/archspec/cpu/microarchitecture.py +++ b/lib/spack/external/archspec/cpu/microarchitecture.py @@ -81,8 +81,13 @@ class Microarchitecture: self.generation = generation # Only relevant for AArch64 self.cpu_part = cpu_part - # Cache the ancestor computation + + # Cache the "ancestor" computation self._ancestors = None + # Cache the "generic" computation + self._generic = None + # Cache the "family" computation + self._family = None @property def ancestors(self): @@ -174,18 +179,22 @@ class Microarchitecture: @property def family(self): """Returns the architecture family a given target belongs to""" - roots = [x for x in [self] + self.ancestors if not x.ancestors] - msg = "a target is expected to belong to just one architecture family" - msg += f"[found {', '.join(str(x) for x in roots)}]" - assert len(roots) == 1, msg + if self._family is None: + roots = [x for x in [self] + self.ancestors if not x.ancestors] + msg = "a target is expected to belong to just one architecture family" + msg += f"[found {', '.join(str(x) for x in roots)}]" + assert len(roots) == 1, msg + self._family = roots.pop() - return roots.pop() + return self._family @property def generic(self): """Returns the best generic architecture that is compatible with self""" - generics = [x for x in [self] + self.ancestors if x.vendor == "generic"] - return max(generics, key=lambda x: len(x.ancestors)) + if self._generic is None: + generics = [x for x in [self] + self.ancestors if x.vendor == "generic"] + self._generic = max(generics, key=lambda x: len(x.ancestors)) + return self._generic def to_dict(self): """Returns a dictionary representation of this object.""" diff --git a/lib/spack/external/archspec/json/cpu/microarchitectures.json b/lib/spack/external/archspec/json/cpu/microarchitectures.json index bb73dd0195..9275422ef4 100644 --- a/lib/spack/external/archspec/json/cpu/microarchitectures.json +++ b/lib/spack/external/archspec/json/cpu/microarchitectures.json @@ -1482,7 +1482,6 @@ "cldemote", "movdir64b", "movdiri", - "pdcm", "serialize", "waitpkg" ], @@ -2237,6 +2236,84 @@ ] } }, + "zen5": { + "from": ["zen4"], + "vendor": "AuthenticAMD", + "features": [ + "abm", + "aes", + "avx", + "avx2", + "avx512_bf16", + "avx512_bitalg", + "avx512bw", + "avx512cd", + "avx512dq", + "avx512f", + "avx512ifma", + "avx512vbmi", + "avx512_vbmi2", + "avx512vl", + "avx512_vnni", + "avx512_vp2intersect", + "avx512_vpopcntdq", + "avx_vnni", + "bmi1", + "bmi2", + "clflushopt", + "clwb", + "clzero", + "cppc", + "cx16", + "f16c", + "flush_l1d", + "fma", + "fsgsbase", + "gfni", + "ibrs_enhanced", + "mmx", + "movbe", + "movdir64b", + "movdiri", + "pclmulqdq", + "popcnt", + "rdseed", + "sse", + "sse2", + "sse4_1", + "sse4_2", + "sse4a", + "ssse3", + "tsc_adjust", + "vaes", + "vpclmulqdq", + "xsavec", + "xsaveopt" + ], + "compilers": { + "gcc": [ + { + "versions": "14.1:", + "name": "znver5", + "flags": "-march={name} -mtune={name}" + } + ], + "aocc": [ + { + "versions": "5.0:", + "name": "znver5", + "flags": "-march={name} -mtune={name}" + } + ], + "clang": [ + { + "versions": "19.1:", + "name": "znver5", + "flags": "-march={name} -mtune={name}" + } + ] + } + }, "ppc64": { "from": [], "vendor": "generic", |