Update legion gasnet config (#12523)

This commit is contained in:
ktsai7 2019-09-12 13:46:37 -06:00 committed by Christoph Junghans
parent 25dbc9fb8e
commit 96ba5a1265
2 changed files with 32 additions and 12 deletions

View File

@ -48,15 +48,8 @@ def url_for_version(self, version):
def configure_args(self):
args = [
# TODO: factor IB suport out into architecture description.
"--enable-ibv" if '+ibv' in self.spec else '--disable-ibv',
"--enable-par",
"--enable-smp",
"--enable-udp",
"--enable-smp-safe",
"--enable-segment-fast",
"--enable-pshm" if '+pshm' in self.spec else "--disable-pshm",
"--with-segment-mmap-max={0}".format(
self.spec.variants['segment-mmap-max'].value),
"--enable-mpi-compat",
# for consumers with shared libs
"CC=%s %s" % (spack_cc, self.compiler.pic_flag),
"CXX=%s %s" % (spack_cxx, self.compiler.pic_flag),
@ -68,8 +61,16 @@ def configure_args(self):
args.append('--disable-aligned-segments')
if '+mpi' in self.spec:
args.extend(['--enable-mpi', '--enable-mpi-compat', "MPI_CC=%s %s"
args.extend(['--enable-mpi',
'--disable-udp',
'--disable-ibv',
'MPI_CC=%s %s'
% (self.spec['mpi'].mpicc, self.compiler.pic_flag)])
else:
args.extend(['--disable-mpi', '--disable-mpi-compat'])
if '+ibv' in self.spec:
args.extend(['--enable-ibv', '--disable-udp', '--disable-mpi'])
if '+udp' in self.spec:
args.extend(['--enable-udp', '--disable-ibv', '--disable-mpi'])
return args

View File

@ -26,7 +26,7 @@ class Legion(CMakePackage):
git = "https://github.com/StanfordLegion/legion.git"
version('develop', branch='master')
version('ctrl-rep', branch='control_replication')
version('ctrl-rep', commit='177584e77036c9913d8a62e33b55fa784748759c')
version('19.06.0', sha256='31cd97e9264c510ab83b1f9e8e1e6bf72021a0c6ee4a028966fce08736e39fbf')
version('19.04.0', sha256='279bbc8dcdab4c75be570318989a9fc9821178143e9db9c3f62e58bf9070b5ac')
version('18.12.0', sha256='71f2c409722975c0ad92f2caffcc9eaa9260f7035e2b55b731d819eb6a94016c')
@ -39,24 +39,43 @@ class Legion(CMakePackage):
variant('mpi', default=True,
description='Build on top of mpi conduit for mpi inoperability')
variant('ibv', default=False,
description='Build on top of ibv conduit for InfiniBand support')
variant('shared', default=True, description='Build shared libraries')
variant('hdf5', default=True, description='Enable HDF5 support')
variant('build_type', default='Release', values=('Debug', 'Release'),
description='The build type to build')
depends_on("cmake@3.1:", type='build')
depends_on("gasnet~aligned-segments~pshm segment-mmap-max='16GB'", when='~mpi')
depends_on("gasnet~aligned-segments~pshm segment-mmap-max='16GB' +mpi", when='+mpi')
depends_on("gasnet~aligned-segments~pshm segment-mmap-max='16GB' +ibv", when='+ibv')
depends_on("hdf5~mpi", when='+hdf5')
def cmake_args(self):
cmake_cxx_flags = [
'-DPRIVILEGE_CHECKS',
'-DBOUNDS_CHECKS',
'-DENABLE_LEGION_TLS']
options = [
'-DLegion_USE_GASNet=ON',
'-DLEGION_USE_CUDA=OFF',
'-DLEGION_USE_OPENMP=OFF',
'-DLegion_BUILD_EXAMPLES=ON',
'-DBUILD_SHARED_LIBS=%s' % ('+shared' in self.spec)]
if self.spec.variants['build_type'].value == 'Debug':
cmake_cxx_flags.append('-DDEBUG_REALM', '-DDEBUG_LEGION', '-ggdb')
options.append('-DCMAKE_CXX_FLAGS=%s' % (" ".join(cmake_cxx_flags)))
if '+mpi' in self.spec:
options.append('-DGASNet_CONDUIT=mpi')
if '+hdf5' in self.spec:
options.append('-DLegion_USE_HDF5=ON')
else:
options.append('-DLegion_USE_HDF5=OFF')
return options