diff --git a/lib/spack/spack/platforms/cray.py b/lib/spack/spack/platforms/cray_xc.py similarity index 73% rename from lib/spack/spack/platforms/cray.py rename to lib/spack/spack/platforms/cray_xc.py index 815a9aea98e..e3adb182ead 100644 --- a/lib/spack/spack/platforms/cray.py +++ b/lib/spack/spack/platforms/cray_xc.py @@ -2,7 +2,7 @@ from spack.architecture import Platform, Target -class Cray(Platform): +class CrayXc(Platform): priority = 20 front_end = 'sandybridge' back_end = 'ivybridge' @@ -13,7 +13,7 @@ def __init__(self): if we use CRAY_CPU_TARGET as the default. This will ensure that if we're on a XC-40 or XC-30 then we can detect the target ''' - super(Cray, self).__init__('cray') + super(CrayXc, self).__init__('cray_xc') # Handle the default here so we can check for a key error if 'CRAY_CPU_TARGET' in os.environ: @@ -24,12 +24,17 @@ def __init__(self): self.front_end = self.default self.back_end = self.default + # Could switch to use modules and fe targets for front end # Currently using compilers by path for front end. - self.add_target(self.front_end, Target(self.front_end, 'PATH')) + self.add_target('sandybridge', Target('sandybridge', 'PATH')) + self.add_target('ivybridge', Target('ivybridge', 'MODULES', 'craype-ivybridge')) + self.add_target('haswell', Target('haswell', 'MODULES', 'craype-haswell')) + +# self.add_target(self.front_end, Target(self.front_end, 'PATH')) # Back End compiler needs the proper target module loaded. # self.add_target(self.back_end, Target(self.front_end, 'MODULES', 'craype-'+ self.back_end)) - self.add_target(self.default, Target(self.default, 'MODULES', 'craype-' + self.default)) +# self.add_target(self.default, Target(self.default, 'MODULES', 'craype-' + self.default)) # This is kludgy and the order matters when the targets are all haswell # This is because the last one overwrites the others when they have the # same name.