From f3af38ba9b888b4b81a764912124796ec605b426 Mon Sep 17 00:00:00 2001 From: Robert Cohn Date: Tue, 31 May 2022 15:02:25 -0700 Subject: Fix module support for oneapi compilers (#28901) Updates to improve Spack-generated modules for Intel oneAPI compilers: * intel-oneapi-compilers set CC etc. * Add a new package intel-oneapi-compilers-classic which can be used to generate a module which sets CC etc. to older compilers (e.g. icc) * lmod module logic now updated to treat the intel-oneapi-compilers* packages as compilers --- lib/spack/spack/modules/lmod.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib') diff --git a/lib/spack/spack/modules/lmod.py b/lib/spack/spack/modules/lmod.py index 97f79cfd28..a64c05e880 100644 --- a/lib/spack/spack/modules/lmod.py +++ b/lib/spack/spack/modules/lmod.py @@ -196,6 +196,14 @@ class LmodConfiguration(BaseConfiguration): if self.spec.name == 'llvm-amdgpu': provides['compiler'] = spack.spec.CompilerSpec(str(self.spec)) provides['compiler'].name = 'rocmcc' + # Special case for oneapi + if self.spec.name == 'intel-oneapi-compilers': + provides['compiler'] = spack.spec.CompilerSpec(str(self.spec)) + provides['compiler'].name = 'oneapi' + # Special case for oneapi classic + if self.spec.name == 'intel-oneapi-compilers-classic': + provides['compiler'] = spack.spec.CompilerSpec(str(self.spec)) + provides['compiler'].name = 'intel' # All the other tokens in the hierarchy must be virtual dependencies for x in self.hierarchy_tokens: -- cgit v1.2.3-70-g09d2