Skip to content
Snippets Groups Projects
Commit 76dae1dc authored by Barry Smith's avatar Barry Smith Committed by Todd Gamblin
Browse files

hypre, superlu-dist, trilinos - support using develop/master branches of these packages (#2443)

Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 1 hour
parent 9c57a49b
No related branches found
No related tags found
No related merge requests found
...@@ -35,6 +35,7 @@ class Hypre(Package): ...@@ -35,6 +35,7 @@ class Hypre(Package):
homepage = "http://computation.llnl.gov/project/linear_solvers/software.php" homepage = "http://computation.llnl.gov/project/linear_solvers/software.php"
url = "http://computation.llnl.gov/project/linear_solvers/download/hypre-2.10.0b.tar.gz" url = "http://computation.llnl.gov/project/linear_solvers/download/hypre-2.10.0b.tar.gz"
version('develop', git='https://github.com/LLNL/hypre', tag='master')
version('2.11.1', '3f02ef8fd679239a6723f60b7f796519') version('2.11.1', '3f02ef8fd679239a6723f60b7f796519')
version('2.10.1', 'dc048c4cabb3cd549af72591474ad674') version('2.10.1', 'dc048c4cabb3cd549af72591474ad674')
version('2.10.0b', '768be38793a35bb5d055905b271f5b8e') version('2.10.0b', '768be38793a35bb5d055905b271f5b8e')
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
############################################################################## ##############################################################################
from spack import * from spack import *
import glob import glob
import os
class SuperluDist(Package): class SuperluDist(Package):
...@@ -32,6 +33,7 @@ class SuperluDist(Package): ...@@ -32,6 +33,7 @@ class SuperluDist(Package):
homepage = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/" homepage = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
url = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_dist_4.1.tar.gz" url = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_dist_4.1.tar.gz"
version('develop', git='https://github.com/xiaoyeli/superlu_dist', tag='master')
version('5.1.1', '12638c631733a27dcbd87110e9f9cb1e') version('5.1.1', '12638c631733a27dcbd87110e9f9cb1e')
version('5.1.0', '6bb86e630bd4bd8650243aed8fd92eb9') version('5.1.0', '6bb86e630bd4bd8650243aed8fd92eb9')
version('5.0.0', '2b53baf1b0ddbd9fcf724992577f0670') version('5.0.0', '2b53baf1b0ddbd9fcf724992577f0670')
...@@ -77,6 +79,7 @@ def install(self, spec, prefix): ...@@ -77,6 +79,7 @@ def install(self, spec, prefix):
with open('make.inc', 'w') as fh: with open('make.inc', 'w') as fh:
fh.write('\n'.join(makefile_inc)) fh.write('\n'.join(makefile_inc))
mkdirp(os.path.join(self.stage.source_path, 'lib'))
make("lib", parallel=False) make("lib", parallel=False)
# FIXME: # FIXME:
......
...@@ -45,6 +45,7 @@ class Trilinos(CMakePackage): ...@@ -45,6 +45,7 @@ class Trilinos(CMakePackage):
homepage = "https://trilinos.org/" homepage = "https://trilinos.org/"
base_url = "https://github.com/trilinos/Trilinos/archive" base_url = "https://github.com/trilinos/Trilinos/archive"
version('develop', git='https://github.com/trilinos/Trilinos.git', tag='master')
version('12.10.1', '40f28628b63310f9bd17c26d9ebe32b1') version('12.10.1', '40f28628b63310f9bd17c26d9ebe32b1')
version('12.8.1', '01c0026f1e2050842857db941060ecd5') version('12.8.1', '01c0026f1e2050842857db941060ecd5')
version('12.6.4', 'c2ea7b5aa0d10bcabdb9b9a6e3bac3ea') version('12.6.4', 'c2ea7b5aa0d10bcabdb9b9a6e3bac3ea')
...@@ -62,6 +63,8 @@ def url_for_version(self, version): ...@@ -62,6 +63,8 @@ def url_for_version(self, version):
return '%s/trilinos-release-%s.tar.gz' % \ return '%s/trilinos-release-%s.tar.gz' % \
(Trilinos.base_url, version.dashed) (Trilinos.base_url, version.dashed)
variant('xsdkflags', default=False,
description='Compile using the default xSDK configuration')
variant('metis', default=True, variant('metis', default=True,
description='Compile with METIS and ParMETIS') description='Compile with METIS and ParMETIS')
variant('mumps', default=True, variant('mumps', default=True,
...@@ -157,11 +160,24 @@ def cmake_args(self): ...@@ -157,11 +160,24 @@ def cmake_args(self):
'-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON', '-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON',
'-DTrilinos_ENABLE_CXX11:BOOL=ON', '-DTrilinos_ENABLE_CXX11:BOOL=ON',
'-DTPL_ENABLE_Netcdf:BOOL=ON', '-DTPL_ENABLE_Netcdf:BOOL=ON',
'-DTPL_ENABLE_HYPRE:BOOL=%s' % (
'ON' if '+hypre' in spec else 'OFF'),
'-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % self.prefix '-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % self.prefix
]) ])
# Force Trilinos to use the MPI wrappers instead of raw compilers
# this is needed on Apple systems that require full resolution of
# all symbols when linking shared libraries
options.extend([
'-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
'-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
'-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc
])
if '+hypre' in spec:
options.extend([
'-DTPL_ENABLE_HYPRE:BOOL=ON',
'-DHYPRE_INCLUDE_DIRS:PATH=%s' % spec['hypre'].prefix.include,
'-DHYPRE_LIBRARY_DIRS:PATH=%s' % spec['hypre'].prefix.lib
])
if spec.satisfies('%intel') and spec.satisfies('@12.6.2'): if spec.satisfies('%intel') and spec.satisfies('@12.6.2'):
# Panzer uses some std:chrono that is not recognized by Intel # Panzer uses some std:chrono that is not recognized by Intel
# Don't know which (maybe all) Trilinos versions this applies to # Don't know which (maybe all) Trilinos versions this applies to
...@@ -170,6 +186,8 @@ def cmake_args(self): ...@@ -170,6 +186,8 @@ def cmake_args(self):
'-DTrilinos_ENABLE_Panzer:BOOL=OFF' '-DTrilinos_ENABLE_Panzer:BOOL=OFF'
]) ])
if '+xsdkflags' in spec:
options.extend(['-DUSE_XSDK_DEFAULTS=YES'])
if '+hdf5' in spec: if '+hdf5' in spec:
options.extend([ options.extend([
'-DTPL_ENABLE_HDF5:BOOL=ON', '-DTPL_ENABLE_HDF5:BOOL=ON',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment