diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2023-09-11 19:03:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-11 10:03:35 -0700 |
commit | 3302b176fd60c4a8e09726f70667af1f3172d5b7 (patch) | |
tree | 65dc4d384e210528aeec99525ff57d43390befa5 /lib/spack/external/archspec/cpu/microarchitecture.py | |
parent | 4672346d9c0011afb23a0945cfd54f7bcc80db48 (diff) | |
download | spack-3302b176fd60c4a8e09726f70667af1f3172d5b7.tar.gz spack-3302b176fd60c4a8e09726f70667af1f3172d5b7.tar.bz2 spack-3302b176fd60c4a8e09726f70667af1f3172d5b7.tar.xz spack-3302b176fd60c4a8e09726f70667af1f3172d5b7.zip |
Update archspec to latest commit (#39920)
- [x] Intel flags for old architectures
- [x] Support for Sapphire Rapids
- [x] Cache the "ancestors" computation
Diffstat (limited to 'lib/spack/external/archspec/cpu/microarchitecture.py')
-rw-r--r-- | lib/spack/external/archspec/cpu/microarchitecture.py | 12 |
1 files changed, 8 insertions, 4 deletions
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.""" |