Skip to content

Commit 3c1e6d7

Browse files
committed
clean up checks for oneAPI generation of iimpi toolchain
1 parent 96afa32 commit 3c1e6d7

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

easybuild/toolchains/iimpi.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,18 @@ def __init__(self, *args, **kwargs):
5757
# comparing subversions that include letters causes TypeErrors in Python 3
5858
# 'a' is assumed to be equivalent with '.01' (January), and 'b' with '.07' (June)
5959
# (good enough for this purpose)
60-
self.iimpi_ver = LooseVersion(self.version.replace('a', '.01').replace('b', '.07'))
61-
if self.iimpi_ver >= LooseVersion('2020.12'):
60+
self.iimpi_ver = self.version.replace('a', '.01').replace('b', '.07')
61+
if LooseVersion(self.iimpi_ver) >= LooseVersion('2020.12'):
62+
self.oneapi_gen = True
6263
self.SUBTOOLCHAIN = IntelCompilersToolchain.NAME
6364
self.COMPILER_MODULE_NAME = IntelCompilersToolchain.COMPILER_MODULE_NAME
6465
else:
66+
self.oneapi_gen = False
6567
self.SUBTOOLCHAIN = IccIfort.NAME
6668
self.COMPILER_MODULE_NAME = IccIfort.COMPILER_MODULE_NAME
6769
else:
6870
self.iimpi_ver = self.version
71+
self.oneapi_gen = False
6972

7073
def is_deprecated(self):
7174
"""Return whether or not this toolchain is deprecated."""
@@ -74,34 +77,35 @@ def is_deprecated(self):
7477

7578
# make sure a non-symbolic version (e.g., 'system') is used before making comparisons using LooseVersion
7679
if re.match('^[0-9]', str(self.iimpi_ver)):
80+
loosever = LooseVersion(self.iimpi_ver)
7781
# iimpi toolchains older than iimpi/2016.01 are deprecated
7882
# iimpi 8.1.5 is an exception, since it used in intel/2016a (which is not deprecated yet)
79-
if self.iimpi_ver < LooseVersion('8.0'):
83+
if loosever < LooseVersion('8.0'):
8084
deprecated = True
81-
elif self.iimpi_ver > LooseVersion('2000') and self.iimpi_ver < LooseVersion('2016.01'):
85+
elif loosever > LooseVersion('2000') and loosever < LooseVersion('2016.01'):
8286
deprecated = True
8387

8488
return deprecated
8589

8690
def is_dep_in_toolchain_module(self, *args, **kwargs):
8791
"""Check whether a specific software name is listed as a dependency in the module for this toolchain."""
88-
if re.match('^[0-9]', str(self.iimpi_ver)) and self.iimpi_ver < LooseVersion('2020.12'):
89-
res = IccIfort.is_dep_in_toolchain_module(self, *args, **kwargs)
90-
else:
92+
if self.oneapi_gen:
9193
res = IntelCompilersToolchain.is_dep_in_toolchain_module(self, *args, **kwargs)
94+
else:
95+
res = IccIfort.is_dep_in_toolchain_module(self, *args, **kwargs)
9296

9397
return res
9498

9599
def _set_compiler_vars(self):
96100
"""Intel compilers-specific adjustments after setting compiler variables."""
97-
if re.match('^[0-9]', str(self.iimpi_ver)) and self.iimpi_ver < LooseVersion('2020.12'):
98-
IccIfort._set_compiler_vars(self)
99-
else:
101+
if self.oneapi_gen:
100102
IntelCompilersToolchain._set_compiler_vars(self)
103+
else:
104+
IccIfort._set_compiler_vars(self)
101105

102106
def set_variables(self):
103107
"""Intel compilers-specific adjustments after setting compiler variables."""
104-
if re.match('^[0-9]', str(self.iimpi_ver)) and self.iimpi_ver < LooseVersion('2020.12'):
105-
IccIfort.set_variables(self)
106-
else:
108+
if self.oneapi_gen:
107109
IntelCompilersToolchain.set_variables(self)
110+
else:
111+
IccIfort.set_variables(self)

0 commit comments

Comments
 (0)