archspec: update to v0.2.5 (#46958)
Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
This commit is contained in:
parent
8b3d3ac2de
commit
66a3c7bc42
2
lib/spack/external/__init__.py
vendored
2
lib/spack/external/__init__.py
vendored
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
* Homepage: https://pypi.python.org/pypi/archspec
|
* Homepage: https://pypi.python.org/pypi/archspec
|
||||||
* Usage: Labeling, comparison and detection of microarchitectures
|
* Usage: Labeling, comparison and detection of microarchitectures
|
||||||
* Version: 0.2.5-dev (commit bceb39528ac49dd0c876b2e9bf3e7482e9c2be4a)
|
* Version: 0.2.5 (commit 38ce485258ffc4fc6dd6688f8dc90cb269478c47)
|
||||||
|
|
||||||
astunparse
|
astunparse
|
||||||
----------------
|
----------------
|
||||||
|
@ -81,8 +81,13 @@ def __init__(self, name, parents, vendor, features, compilers, generation=0, cpu
|
|||||||
self.generation = generation
|
self.generation = generation
|
||||||
# Only relevant for AArch64
|
# Only relevant for AArch64
|
||||||
self.cpu_part = cpu_part
|
self.cpu_part = cpu_part
|
||||||
# Cache the ancestor computation
|
|
||||||
|
# Cache the "ancestor" computation
|
||||||
self._ancestors = None
|
self._ancestors = None
|
||||||
|
# Cache the "generic" computation
|
||||||
|
self._generic = None
|
||||||
|
# Cache the "family" computation
|
||||||
|
self._family = None
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def ancestors(self):
|
def ancestors(self):
|
||||||
@ -174,18 +179,22 @@ def __contains__(self, feature):
|
|||||||
@property
|
@property
|
||||||
def family(self):
|
def family(self):
|
||||||
"""Returns the architecture family a given target belongs to"""
|
"""Returns the architecture family a given target belongs to"""
|
||||||
|
if self._family is None:
|
||||||
roots = [x for x in [self] + self.ancestors if not x.ancestors]
|
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 = "a target is expected to belong to just one architecture family"
|
||||||
msg += f"[found {', '.join(str(x) for x in roots)}]"
|
msg += f"[found {', '.join(str(x) for x in roots)}]"
|
||||||
assert len(roots) == 1, msg
|
assert len(roots) == 1, msg
|
||||||
|
self._family = roots.pop()
|
||||||
|
|
||||||
return roots.pop()
|
return self._family
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def generic(self):
|
def generic(self):
|
||||||
"""Returns the best generic architecture that is compatible with self"""
|
"""Returns the best generic architecture that is compatible with self"""
|
||||||
|
if self._generic is None:
|
||||||
generics = [x for x in [self] + self.ancestors if x.vendor == "generic"]
|
generics = [x for x in [self] + self.ancestors if x.vendor == "generic"]
|
||||||
return max(generics, key=lambda x: len(x.ancestors))
|
self._generic = max(generics, key=lambda x: len(x.ancestors))
|
||||||
|
return self._generic
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
"""Returns a dictionary representation of this object."""
|
"""Returns a dictionary representation of this object."""
|
||||||
|
@ -1482,7 +1482,6 @@
|
|||||||
"cldemote",
|
"cldemote",
|
||||||
"movdir64b",
|
"movdir64b",
|
||||||
"movdiri",
|
"movdiri",
|
||||||
"pdcm",
|
|
||||||
"serialize",
|
"serialize",
|
||||||
"waitpkg"
|
"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": {
|
"ppc64": {
|
||||||
"from": [],
|
"from": [],
|
||||||
"vendor": "generic",
|
"vendor": "generic",
|
||||||
|
Loading…
Reference in New Issue
Block a user