Improved cray architecture class

This commit is contained in:
Gregory Becker 2016-01-07 13:01:05 -08:00
parent 83917c4c30
commit 53d4f82ce1

View File

@ -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.