summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/portage/package.py108
-rw-r--r--var/spack/repos/builtin/packages/wonton/package.py5
2 files changed, 77 insertions, 36 deletions
diff --git a/var/spack/repos/builtin/packages/portage/package.py b/var/spack/repos/builtin/packages/portage/package.py
index 0bc7d2b8f3..29df97cbdb 100644
--- a/var/spack/repos/builtin/packages/portage/package.py
+++ b/var/spack/repos/builtin/packages/portage/package.py
@@ -14,52 +14,92 @@ class Portage(CMakePackage):
"""
homepage = "http://portage.lanl.gov/"
git = "https://github.com/laristra/portage.git"
+ url = "https://github.com/laristra/portage/releases/download/3.0.0/portage-3.0.0.tar.gz"
+
+ maintainers = ['raovgarimella']
# tarballs don't have submodules, so use git tags
- version('develop', branch='master', submodules=True)
- version('1.2.2', tag='v1.2.2', submodules=True)
- version('1.1.1', tag='v1.1.1', submodules=True)
- version('1.1.0', tag='v1.1.0', submodules=True)
-
- # fabs() needs math.h for gcc-7, got fixed in
- # versions above 1.2.2
- patch('gcc-7.patch', when='@:1.2.2 %gcc@7:')
- # part of https://github.com/laristra/cinch/commit/f87f848269fac25aa5b8d0bd5d9c9b2d2d6fb0ad
- # fixed in version above 1.2.2
- patch('p_lapacke_config.patch', when='@1.2.2')
- # don't enable debug prints in RelWithDebInfo build
- # fixed in version above 1.2.2
- patch('rel-with-deb-info.patch', when='@1.2.2')
-
- # intel/19.0.4 got an ICE (internal compiler error) compiling pairs.cc
- patch('p_intel_ice.patch', when='@1.2.2')
+ version('3.0.0', sha256='7a5a21ffbc35fa54a5136d937cfda6f836c7496ff2b5adf54deb4107501333da')
+ version('master', branch='master', submodules=True)
variant('mpi', default=True, description='Support MPI')
+ variant('tangram', default=False, description='Use Tangram interface reconstruction package')
+ variant('jali', default=False, description='Include support for Jali mesh framework')
+ variant('flecsisp', default=False, description='Include support for FleCSI mesh framework')
+ variant('thrust', default=False, description='Enable on-node parallelism using NVidia Thrust library')
+ variant('kokkos', default=False, description='Enable on-node or device parallelism with Kokkos')
+ variant('openmp', default=False, description="Enable on-node parallelism using OpenMP")
+ variant('cuda', default=False, description="Enable GPU parallelism using CUDA")
+
+ depends_on("cmake@3.13:", type='build')
- depends_on("cmake@3.1:", type='build')
depends_on('mpi', when='+mpi')
- depends_on('lapack')
- depends_on('boost')
+
+ depends_on('tangram', when='+tangram')
+ depends_on('tangram+mpi', when='+tangram+mpi')
+ depends_on('tangram+jali', when='+tangram+jali')
+ depends_on('tangram+flecsisp', when='+tangram+flecsisp')
+ depends_on('tangram+thrust', when='+tangram+thrust')
+ depends_on('tangram+kokkos', when='+tangram+kokkos')
+ depends_on('tangram+cuda', when='+tangram+cuda')
+
+ depends_on('wonton')
+ depends_on('wonton+mpi', when='+mpi')
+ depends_on('wonton+jali', when='+jali')
+ depends_on('wonton+flecsisp', when='+flecsisp')
+ depends_on('wonton+thrust', when='+thrust')
+ depends_on('wonton+kokkos', when='+kokkos')
+ depends_on('wonton+openmp', when='+openmp')
+ depends_on('wonton+cuda', when='+cuda')
+
+ # Jali needs MPI
+ conflicts('+jali ~mpi')
+
+ # Thrust with CUDA does not work as yet
+ conflicts('+thrust +cuda')
+
+ # Don't enable Kokkos and Thrust simultaneously
+ conflicts('+thrust +kokkos')
def cmake_args(self):
- options = ['-DENABLE_UNIT_TESTS=ON', '-DENABLE_APP_TESTS=ON']
+ options = []
if '+mpi' in self.spec:
- options.extend([
- '-DENABLE_MPI=ON',
- '-DENABLE_MPI_CXX_BINDINGS=ON',
- '-DCMAKE_CXX_COMPILER=%s' % self.spec['mpi'].mpicxx,
- '-DCMAKE_C_COMPILER=%s' % self.spec['mpi'].mpicc,
- ])
+ options.append('-DPORTAGE_ENABLE_MPI=ON')
else:
- options.append('-DENABLE_MPI=OFF')
+ options.append('-DPORTAGE_ENABLE_MPI=OFF')
- options.append('-DBLA_VENDOR=' + self.spec['blas'].name.upper())
- options.append('-DBLAS_LIBRARIES=' + self.spec['blas'].libs.joined())
- options.append('-DLAPACK_LIBRARIES=' +
- self.spec['lapack'].libs.joined())
+ if '+thrust' in self.spec:
+ options.append('-DPORTAGE_ENABLE_THRUST=ON')
+ else:
+ options.append('-DPORTAGE_ENABLE_THRUST=OFF')
- options.append("-DLAPACKE_LIBRARY=" +
- self.spec["lapack:c"].libs.joined(";"))
+ if '+kokkos' in self.spec:
+ options.append('-DPORTAGE_ENABLE_Kokkos=ON')
+ else:
+ options.append('-DPORTAGE_ENABLE_Kokkos=OFF')
+
+ if '+jali' in self.spec:
+ options.append('-DPORTAGE_ENABLE_Jali=ON')
+ else:
+ options.append('-DPORTAGE_ENABLE_Jali=OFF')
+
+ if '+flecsi' in self.spec:
+ options.append('-DPORTAGE_ENABLE_FleCSI=ON')
+ else:
+ options.append('-DPORTAGE_ENABLE_FleCSI=OFF')
+
+ if '+tangram' in self.spec:
+ options.append('-DPORTAGE_ENABLE_TANGRAM=ON')
+ else:
+ options.append('-DPORTAGE_ENABLE_TANGRAM=OFF')
+
+ # Unit test variant
+ if self.run_tests:
+ options.append('-DENABLE_UNIT_TESTS=ON')
+ options.append('-DENABLE_APP_TESTS=ON')
+ else:
+ options.append('-DENABLE_UNIT_TESTS=OFF')
+ options.append('-DENABLE_APP_TESTS=OFF')
return options
diff --git a/var/spack/repos/builtin/packages/wonton/package.py b/var/spack/repos/builtin/packages/wonton/package.py
index 13e43c0fd9..9dd5492488 100644
--- a/var/spack/repos/builtin/packages/wonton/package.py
+++ b/var/spack/repos/builtin/packages/wonton/package.py
@@ -17,11 +17,12 @@ class Wonton(CMakePackage):
homepage = "https://portage.lanl.gov"
git = "https://github.com/laristra/wonton.git"
- url = "https://github.com/laristra/wonton/releases/download/1.2.10/wonton-1.2.10.tar.gz"
+ url = "https://github.com/laristra/wonton/releases/download/1.2.11/wonton-1.2.11.tar.gz"
maintainers = ['raovgarimella']
- version('1.2.10', sha256='1367b9d3294d1c8a15e3cefa2670102de25baf456d5ed0e2fb70863f062e96b0')
+ version('1.2.11', sha256='613436c799b392a99355db1cbf1062f1da39f3287eed665a5cd43bb65364d926')
+ version('1.2.10', sha256='c5c2c99f040f1fa5a8da21ac5ccbbc5b226d1fd43ce3eb14c76d211601b65a72')
version('1.2.1', sha256='4f00513d1abe86f256214d2b5171b1575b2cd464df8609307c24cbc4c595c305')
variant('lapacke', default=True, description='Use LAPACKE solvers')