add more legion version and expose more flecsi options (#13741)

* add more legion version and expose more flecsi options

* formatting

* update version pointing to master to master

* fix indentation

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* use self.run_tests

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update package.py

* Update package.py

* Update package.py

* Update package.py
This commit is contained in:
ktsai7 2019-11-18 23:51:41 -07:00 committed by Adam J. Stewart
parent 99dfff4475
commit bb0667ceaf
2 changed files with 91 additions and 25 deletions

View File

@ -17,13 +17,29 @@ class Flecsi(CMakePackage):
n-dimensional hashed-tree data structures, graph partitioning
interfaces,and dependency closures.
'''
homepage = 'http://flecsi.lanl.gov/'
homepage = 'http://flecsi.org/'
git = 'https://github.com/laristra/flecsi.git'
version('develop', branch='master', submodules=False, preferred=True)
version('master', branch='master', submodules=False, preferred=True)
variant('backend', default='mpi', values=('serial', 'mpi', 'legion'),
description='Backend to use for distributed memory')
variant('build_type', default='Release', values=('Debug', 'Release'),
description='The build type to build', multi=False)
variant('backend', default='mpi', values=('serial', 'mpi', 'legion', 'hpx'),
description='Backend to use for distributed memory', multi=False)
variant('minimal', default=False,
description='Disable FindPackageMetis')
variant('shared', default=True,
description='Build shared libraries')
variant('flog', default=False,
description='Enable flog testing')
variant('doxygen', default=False,
description='Enable doxygen')
variant('doc', default=False,
description='Enable documentation')
variant('coverage', default=False,
description='Enable coverage build')
variant('hdf5', default=False,
description='Enable HDF5 Support')
variant('caliper', default=False,
description='Enable Caliper Support')
variant('graphviz', default=False,
@ -33,50 +49,97 @@ class Flecsi(CMakePackage):
variant('flecstan', default=False,
description='Build FleCSI Static Analyzer')
depends_on('cmake@3.1:', type='build')
depends_on('cmake@3.12:', type='build')
# Requires cinch > 1.0 due to cinchlog installation issue
depends_on('cinch@1.01:', type='build')
depends_on('mpi', when='backend=mpi')
depends_on('mpi', when='backend=legion')
depends_on('gasnet@2019.3.0 ~pshm', when='backend=legion')
depends_on('legion@ctrl-rep +shared +mpi', when='backend=legion')
depends_on('boost@1.59.0: cxxstd=11 +program_options')
depends_on('mpi', when='backend=hpx')
depends_on('legion@ctrl-rep +shared +mpi +hdf5', when='backend=legion +hdf5')
depends_on('legion@ctrl-rep +shared +mpi', when='backend=legion ~hdf5')
depends_on('hpx@1.3.0 cxxstd=14', when='backend=hpx')
depends_on('boost@1.70.0: cxxstd=14 +program_options')
depends_on('metis@5.1.0:')
depends_on('parmetis@4.0.3:')
depends_on('hdf5', when='+hdf5')
depends_on('caliper', when='+caliper')
depends_on('graphviz', when='+graphviz')
depends_on('python@3.0:', when='+tutorial')
depends_on('llvm', when='+flecstan')
def cmake_args(self):
options = ['-DCMAKE_BUILD_TYPE=debug']
options.append('-DCINCH_SOURCE_DIR=' + self.spec['cinch'].prefix)
conflicts('+tutorial', when='backend=hpx')
# conflicts('+hdf5', when='backend=hpx')
# conflicts('+hdf5', when='backend=mpi')
if self.spec.variants['backend'].value == 'legion':
def cmake_args(self):
spec = self.spec
options = ['-DENABLE_OPENMP=ON',
'-DCXX_CONFORMANCE_STANDARD=c++17',
'-DENABLE_METIS=ON',
'-DENABLE_PARMETIS=ON',
'-DENABLE_COLORING=ON',
'-DENABLE_DEVEL_TARGETS=ON'
]
options.append('-DCINCH_SOURCE_DIR=' + spec['cinch'].prefix)
if spec.variants['backend'].value == 'legion':
options.append('-DFLECSI_RUNTIME_MODEL=legion')
elif self.spec.variants['backend'].value == 'mpi':
options.append('-DENABLE_MPI=ON')
elif spec.variants['backend'].value == 'mpi':
options.append('-DFLECSI_RUNTIME_MODEL=mpi')
options.append('-DENABLE_MPI=ON')
elif spec.variants['backend'].value == 'hpx':
options.append('-DFLECSI_RUNTIME_MODEL=hpx')
options.append('-DENABLE_MPI=ON')
else:
options.append('-DFLECSI_RUNTIME_MODEL=serial')
options.append(
'-DENABLE_MPI=OFF',
)
options.append('-DENABLE_MPI=OFF')
if '+tutorial' in self.spec:
if '+minimal' in spec:
options.append('-DCMAKE_DISABLE_FIND_PACKAGE_METIS=ON')
else:
options.append('-DCMAKE_DISABLE_FIND_PACKAGE_METIS=OFF')
if '+shared' in spec:
options.append('-DBUILD_SHARED_LIBS=ON')
else:
options.append('-DBUILD_SHARED_LIBS=OFF')
if self.run_tests:
options.append('-DENABLE_UNIT_TESTS=ON')
else:
options.append('-DENABLE_UNIT_TESTS=OFF')
if '+hdf5' in spec and spec.variants['backend'].value == 'legion':
options.append('-DENABLE_HDF5=ON')
else:
options.append('-DENABLE_HDF5=OFF')
if '+caliper' in spec:
options.append('-DENABLE_CALIPER=ON')
else:
options.append('-DENABLE_CALIPER=OFF')
if '+tutorial' in spec:
options.append('-DENABLE_FLECSIT=ON')
options.append('-DENABLE_FLECSI_TUTORIAL=ON')
else:
options.append('-DENABLE_FLECSIT=OFF')
options.append('-DENABLE_FLECSI_TUTORIAL=OFF')
if '+caliper' in self.spec:
options.append('-DENABLE_CALIPER=ON')
else:
options.append('-DENABLE_CALIPER=OFF')
if '+flecstan' in self.spec:
if '+flecstan' in spec:
options.append('-DENABLE_FLECSTAN=ON')
else:
options.append('-DENABLE_FLECSTAN=OFF')
if '+doxygen' in spec:
options.append('-DENABLE_DOXYGEN=ON')
else:
options.append('-DENABLE_DOXYGEN=OFF')
if '+doc' in spec:
options.append('-DENABLE_DOCUMENTATION=ON')
else:
options.append('-DENABLE_DOCUMENTATION=OFF')
if '+coverage' in spec:
options.append('-DENABLE_COVERAGE_BUILD=ON')
else:
options.append('-DENABLE_COVERAGE_BUILD=OFF')
return options

View File

@ -25,8 +25,11 @@ class Legion(CMakePackage):
url = "https://github.com/StanfordLegion/legion/tarball/legion-17.02.0"
git = "https://github.com/StanfordLegion/legion.git"
version('develop', branch='master')
version('ctrl-rep', commit='177584e77036c9913d8a62e33b55fa784748759c')
version('master', branch='master')
version('ctrl-rep', branch='control_replication')
version('ctrl-rep-2', commit='96682fd8aae071ecd30a3ed5f481a9d84457a4b6')
version('ctrl-rep-1', commit='a03671b21851d5f0d3f63210343cb61a630f4405')
version('ctrl-rep-0', commit='177584e77036c9913d8a62e33b55fa784748759c')
version('19.06.0', sha256='31cd97e9264c510ab83b1f9e8e1e6bf72021a0c6ee4a028966fce08736e39fbf')
version('19.04.0', sha256='279bbc8dcdab4c75be570318989a9fc9821178143e9db9c3f62e58bf9070b5ac')
version('18.12.0', sha256='71f2c409722975c0ad92f2caffcc9eaa9260f7035e2b55b731d819eb6a94016c')