From bb0667ceaf3311630e8e1fae024660e22b2749f7 Mon Sep 17 00:00:00 2001 From: ktsai7 <35276356+ktsai7@users.noreply.github.com> Date: Mon, 18 Nov 2019 23:51:41 -0700 Subject: 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 * Update package.py * Update package.py * Update package.py * Update package.py --- var/spack/repos/builtin/packages/flecsi/package.py | 107 ++++++++++++++++----- var/spack/repos/builtin/packages/legion/package.py | 7 +- 2 files changed, 90 insertions(+), 24 deletions(-) diff --git a/var/spack/repos/builtin/packages/flecsi/package.py b/var/spack/repos/builtin/packages/flecsi/package.py index 3616de5a97..abaf67c3b5 100644 --- a/var/spack/repos/builtin/packages/flecsi/package.py +++ b/var/spack/repos/builtin/packages/flecsi/package.py @@ -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') + conflicts('+tutorial', when='backend=hpx') +# conflicts('+hdf5', when='backend=hpx') +# conflicts('+hdf5', when='backend=mpi') + def cmake_args(self): - options = ['-DCMAKE_BUILD_TYPE=debug'] - options.append('-DCINCH_SOURCE_DIR=' + self.spec['cinch'].prefix) + 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 self.spec.variants['backend'].value == 'legion': + 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: - options.append('-DENABLE_FLECSIT=ON') - options.append('-DENABLE_FLECSI_TUTORIAL=ON') + if '+minimal' in spec: + options.append('-DCMAKE_DISABLE_FIND_PACKAGE_METIS=ON') else: - options.append('-DENABLE_FLECSIT=OFF') - options.append('-DENABLE_FLECSI_TUTORIAL=OFF') + 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 '+caliper' in self.spec: + 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 '+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 diff --git a/var/spack/repos/builtin/packages/legion/package.py b/var/spack/repos/builtin/packages/legion/package.py index 055b954c46..e5588d1a89 100644 --- a/var/spack/repos/builtin/packages/legion/package.py +++ b/var/spack/repos/builtin/packages/legion/package.py @@ -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') -- cgit v1.2.3-60-g2f50