summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/external/__init__.py2
-rw-r--r--lib/spack/external/archspec/__init__.py2
-rw-r--r--lib/spack/external/archspec/cpu/microarchitecture.py12
-rw-r--r--lib/spack/external/archspec/json/cpu/microarchitectures.json113
4 files changed, 119 insertions, 10 deletions
diff --git a/lib/spack/external/__init__.py b/lib/spack/external/__init__.py
index 7abfaa4a03..23cd44e604 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.1 (commit 9e1117bd8a2f0581bced161f2a2e8d6294d0300b)
+* Version: 0.2.1 (commit df43a1834460bf94516136951c4729a3100603ec)
astunparse
----------------
diff --git a/lib/spack/external/archspec/__init__.py b/lib/spack/external/archspec/__init__.py
index fbbab9f78a..dfad9f3743 100644
--- a/lib/spack/external/archspec/__init__.py
+++ b/lib/spack/external/archspec/__init__.py
@@ -1,2 +1,2 @@
"""Init file to avoid namespace packages"""
-__version__ = "0.2.0"
+__version__ = "0.2.1"
diff --git a/lib/spack/external/archspec/cpu/microarchitecture.py b/lib/spack/external/archspec/cpu/microarchitecture.py
index fdc7707fda..954242736b 100644
--- a/lib/spack/external/archspec/cpu/microarchitecture.py
+++ b/lib/spack/external/archspec/cpu/microarchitecture.py
@@ -79,14 +79,18 @@ class Microarchitecture:
self.features = features
self.compilers = compilers
self.generation = generation
+ # Cache the ancestor computation
+ self._ancestors = None
@property
def ancestors(self):
"""All the ancestors of this microarchitecture."""
- value = self.parents[:]
- for parent in self.parents:
- value.extend(a for a in parent.ancestors if a not in value)
- return value
+ if self._ancestors is None:
+ value = self.parents[:]
+ for parent in self.parents:
+ value.extend(a for a in parent.ancestors if a not in value)
+ self._ancestors = value
+ return self._ancestors
def _to_set(self):
"""Returns a set of the nodes in this microarchitecture DAG."""
diff --git a/lib/spack/external/archspec/json/cpu/microarchitectures.json b/lib/spack/external/archspec/json/cpu/microarchitectures.json
index a7e8e5d1ca..2ddad29345 100644
--- a/lib/spack/external/archspec/json/cpu/microarchitectures.json
+++ b/lib/spack/external/archspec/json/cpu/microarchitectures.json
@@ -145,6 +145,13 @@
"flags": "-march={name} -mtune=generic -mcx16 -msahf -mpopcnt -msse3 -msse4.1 -msse4.2 -mssse3"
}
],
+ "intel": [
+ {
+ "versions": "16.0:",
+ "name": "corei7",
+ "flags": "-march={name} -mtune=generic -mpopcnt"
+ }
+ ],
"oneapi": [
{
"versions": "2021.2.0:",
@@ -217,6 +224,13 @@
"flags": "-march={name} -mtune=generic -mcx16 -msahf -mpopcnt -msse3 -msse4.1 -msse4.2 -mssse3 -mavx -mavx2 -mbmi -mbmi2 -mf16c -mfma -mlzcnt -mmovbe -mxsave"
}
],
+ "intel": [
+ {
+ "versions": "16.0:",
+ "name": "core-avx2",
+ "flags": "-march={name} -mtune={name} -fma -mf16c"
+ }
+ ],
"oneapi": [
{
"versions": "2021.2.0:",
@@ -300,6 +314,13 @@
"flags": "-march={name} -mtune=generic -mcx16 -msahf -mpopcnt -msse3 -msse4.1 -msse4.2 -mssse3 -mavx -mavx2 -mbmi -mbmi2 -mf16c -mfma -mlzcnt -mmovbe -mxsave -mavx512f -mavx512bw -mavx512cd -mavx512dq -mavx512vl"
}
],
+ "intel": [
+ {
+ "versions": "16.0:",
+ "name": "skylake-avx512",
+ "flags": "-march={name} -mtune={name}"
+ }
+ ],
"oneapi": [
{
"versions": "2021.2.0:",
@@ -1412,6 +1433,92 @@
]
}
},
+ "sapphirerapids": {
+ "from": [
+ "icelake"
+ ],
+ "vendor": "GenuineIntel",
+ "features": [
+ "mmx",
+ "sse",
+ "sse2",
+ "ssse3",
+ "sse4_1",
+ "sse4_2",
+ "popcnt",
+ "aes",
+ "pclmulqdq",
+ "avx",
+ "rdrand",
+ "f16c",
+ "movbe",
+ "fma",
+ "avx2",
+ "bmi1",
+ "bmi2",
+ "rdseed",
+ "adx",
+ "clflushopt",
+ "xsavec",
+ "xsaveopt",
+ "avx512f",
+ "avx512vl",
+ "avx512bw",
+ "avx512dq",
+ "avx512cd",
+ "avx512vbmi",
+ "avx512ifma",
+ "sha_ni",
+ "clwb",
+ "rdpid",
+ "gfni",
+ "avx512_vbmi2",
+ "avx512_vpopcntdq",
+ "avx512_bitalg",
+ "avx512_vnni",
+ "vpclmulqdq",
+ "vaes",
+ "avx512_bf16",
+ "cldemote",
+ "movdir64b",
+ "movdiri",
+ "pdcm",
+ "serialize",
+ "waitpkg"
+ ],
+ "compilers": {
+ "gcc": [
+ {
+ "versions": "11.0:",
+ "flags": "-march={name} -mtune={name}"
+ }
+ ],
+ "clang": [
+ {
+ "versions": "12.0:",
+ "flags": "-march={name} -mtune={name}"
+ }
+ ],
+ "intel": [
+ {
+ "versions": "2021.2:",
+ "flags": "-march={name} -mtune={name}"
+ }
+ ],
+ "oneapi": [
+ {
+ "versions": "2021.2:",
+ "flags": "-march={name} -mtune={name}"
+ }
+ ],
+ "dpcpp": [
+ {
+ "versions": "2021.2:",
+ "flags": "-march={name} -mtune={name}"
+ }
+ ]
+ }
+ },
"k10": {
"from": ["x86_64"],
"vendor": "AuthenticAMD",
@@ -2065,8 +2172,6 @@
"pku",
"gfni",
"flush_l1d",
- "erms",
- "avic",
"avx512f",
"avx512dq",
"avx512ifma",
@@ -2083,12 +2188,12 @@
"compilers": {
"gcc": [
{
- "versions": "10.3:13.0",
+ "versions": "10.3:12.2",
"name": "znver3",
"flags": "-march={name} -mtune={name} -mavx512f -mavx512dq -mavx512ifma -mavx512cd -mavx512bw -mavx512vl -mavx512vbmi -mavx512vbmi2 -mavx512vnni -mavx512bitalg"
},
{
- "versions": "13.1:",
+ "versions": "12.3:",
"name": "znver4",
"flags": "-march={name} -mtune={name}"
}