Merge pull request #1 from robertdfrench/olcf/unified_cray_platform
PEP8 Goodness
This commit is contained in:
commit
07f2dd5498
2 changed files with 18 additions and 16 deletions
|
@ -7,11 +7,12 @@
|
|||
from spack.util.multiproc import parmap
|
||||
import spack.compilers
|
||||
|
||||
|
||||
class Cnl(OperatingSystem):
|
||||
""" Compute Node Linux (CNL) is the operating system used for the Cray XC
|
||||
series super computers. It is a very stripped down version of GNU/Linux.
|
||||
Any compilers found through this operating system will be used with
|
||||
modules. If updated, user must make sure that version and name are
|
||||
modules. If updated, user must make sure that version and name are
|
||||
updated to indicate that OS has been upgraded (or downgraded)
|
||||
"""
|
||||
def __init__(self):
|
||||
|
@ -24,14 +25,14 @@ def __str__(self):
|
|||
|
||||
def find_compilers(self, *paths):
|
||||
types = spack.compilers.all_compiler_types()
|
||||
compiler_lists = parmap(lambda cmp_cls: self.find_compiler(cmp_cls, *paths), types)
|
||||
compiler_lists = parmap(
|
||||
lambda cmp_cls: self.find_compiler(cmp_cls, *paths), types)
|
||||
|
||||
# ensure all the version calls we made are cached in the parent
|
||||
# process, as well. This speeds up Spack a lot.
|
||||
clist = reduce(lambda x,y: x+y, compiler_lists)
|
||||
clist = reduce(lambda x, y: x + y, compiler_lists)
|
||||
return clist
|
||||
|
||||
|
||||
def find_compiler(self, cmp_cls, *paths):
|
||||
compilers = []
|
||||
if cmp_cls.PrgEnv:
|
||||
|
@ -47,13 +48,16 @@ def find_compiler(self, cmp_cls, *paths):
|
|||
if paths:
|
||||
module_paths = ':' + ':'.join(p for p in paths)
|
||||
os.environ['MODULEPATH'] = module_paths
|
||||
|
||||
output = modulecmd('avail', cmp_cls.PrgEnv_compiler, output=str, error=str)
|
||||
matches = re.findall(r'(%s)/([\d\.]+[\d])' % cmp_cls.PrgEnv_compiler, output)
|
||||
|
||||
output = modulecmd(
|
||||
'avail', cmp_cls.PrgEnv_compiler, output=str, error=str)
|
||||
matches = re.findall(
|
||||
r'(%s)/([\d\.]+[\d])' % cmp_cls.PrgEnv_compiler, output)
|
||||
for name, version in matches:
|
||||
v = version
|
||||
comp = cmp_cls(spack.spec.CompilerSpec(name + '@' + v), self,
|
||||
['cc', 'CC', 'ftn'], [cmp_cls.PrgEnv, name +'/' + v])
|
||||
comp = cmp_cls(
|
||||
spack.spec.CompilerSpec(name + '@' + v), self,
|
||||
['cc', 'CC', 'ftn'], [cmp_cls.PrgEnv, name + '/' + v])
|
||||
|
||||
compilers.append(comp)
|
||||
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
import os
|
||||
import re
|
||||
import platform as py_platform
|
||||
#from subprocess import check_output
|
||||
import spack.config
|
||||
from spack.util.executable import which
|
||||
from spack.architecture import Platform, Target, NoPlatformError
|
||||
from spack.operating_systems.linux_distro import LinuxDistro
|
||||
from spack.operating_systems.cnl import Cnl
|
||||
|
@ -20,7 +17,7 @@ def _target_from_init(name):
|
|||
with open('/etc/bash.bashrc.local', 'r') as conf:
|
||||
for line in conf:
|
||||
if re.search('^[^\#]*module[\s]*(?:add|load)', line):
|
||||
matches.extend(re.findall(pattern, line))
|
||||
matches.extend(re.findall(pattern, line))
|
||||
return matches[0] if matches else None
|
||||
|
||||
|
||||
|
@ -29,7 +26,7 @@ class Cray(Platform):
|
|||
|
||||
def __init__(self):
|
||||
''' Create a Cray system platform.
|
||||
|
||||
|
||||
Target names should use craype target names but not include the
|
||||
'craype-' prefix. Uses first viable target from:
|
||||
self
|
||||
|
@ -50,14 +47,15 @@ def __init__(self):
|
|||
if _target is None:
|
||||
_target = _target_from_init(name)
|
||||
setattr(self, name, _target)
|
||||
|
||||
|
||||
if _target is not None:
|
||||
self.add_target(name, Target(_target, 'craype-' + _target))
|
||||
self.add_target(_target, Target(_target, 'craype-' + _target))
|
||||
|
||||
if self.back_end is not None:
|
||||
self.default = self.back_end
|
||||
self.add_target('default', Target(self.default, 'craype-' + self.default))
|
||||
self.add_target(
|
||||
'default', Target(self.default, 'craype-' + self.default))
|
||||
else:
|
||||
raise NoPlatformError()
|
||||
|
||||
|
|
Loading…
Reference in a new issue