Adding FASTMath uber package and missing FASTMath packages (#4120)
* adding 0.5.1 and variant for uint8 bit stream word type * Revisions as per davydden * fixing style (flake8) issues * - switched to derive from MakefilePackage - fixed typo in variant check - Confirmed installs correctly with bswtuint8 variant * added build method; changed zfp_incdir to incdir * * Adding uber fastmath package to support 'spack install fastmath' * Adding dims variant boxlib to control compile-time spatial dimension count * Explicitly disabling many parts of moab to get lib to build. Don't need tools yet. * Add logic to spack/setup-env to not refer to $SYS_TYPE if its not defined. * adding mesquite package * * Added Chombo (still working on Fortran name mangling) * Made mesquite depend on mpi * Fixed use of boxlib's dims numerical variant * adding PUMI * flake8 compliance * adding phasta * fixing flake8 issues * undue $SYS_TYPE protection change * fixing install step for fastmath uber package; resolve issues requested by adamjstewart in PR * revisions as per adamjstewart * re-enabling trilinos and phasta dependencies * all changes requested modulu values= and assert statement * fixing cmake_args usage in pumi; fixing lib installs for chombo * first pass at numerical variant * fixing dims variant as per @adamjstewart * fixing func/var name collision * fixing means of disabling -Werror * fix name collision for cmake_args var/func * fixing chombo homepage/url; make FASTMath use chombo#3.2; remove extraneous comment about boxlib dim * remove dummy fastmath package; switch to @BarrySmith soln for install of dummy bundle * fix flake8 import os issue * remove extraneous comment * adding url for fastmath scidac site * final fixes as per @adamjstewart * adding 1 dims option for boxlib * switching make(all) to gmake(all)
This commit is contained in:
parent
a5fd658986
commit
64fb2f22b4
@ -36,12 +36,19 @@ class Boxlib(CMakePackage):
|
|||||||
|
|
||||||
depends_on('mpi')
|
depends_on('mpi')
|
||||||
|
|
||||||
|
variant('dims',
|
||||||
|
default='3',
|
||||||
|
values=('1', '2', '3'),
|
||||||
|
multi=False,
|
||||||
|
description='Number of spatial dimensions'
|
||||||
|
)
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
options = []
|
options = []
|
||||||
|
|
||||||
options.extend([
|
options.extend([
|
||||||
# '-DBL_SPACEDIM=3',
|
'-DBL_SPACEDIM=%d' % int(spec.variants['dims'].value),
|
||||||
'-DENABLE_POSITION_INDEPENDENT_CODE=ON',
|
'-DENABLE_POSITION_INDEPENDENT_CODE=ON',
|
||||||
'-DENABLE_FBASELIB=ON',
|
'-DENABLE_FBASELIB=ON',
|
||||||
'-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
|
'-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
*** lib/mk/Make.defs.local.template 2017-05-02 16:00:16.000000000 -0700
|
||||||
|
--- lib/mk/Make.defs.local.template.patched 2017-05-02 18:50:36.000000000 -0700
|
||||||
|
***************
|
||||||
|
*** 129,135 ****
|
||||||
|
--- 129,137 ----
|
||||||
|
#HDFMPILIBFLAGS= -L<hdf_parallel_dir>/lib -lhdf5 -lz
|
||||||
|
#USE_MF =
|
||||||
|
#USE_MT =
|
||||||
|
+ #USE_LAPACK =
|
||||||
|
#USE_SETVAL =
|
||||||
|
+ #USE_TIMER =
|
||||||
|
#CH_AR =
|
||||||
|
#CH_CPP =
|
||||||
|
#DOXYGEN =
|
||||||
|
***************
|
||||||
|
*** 151,155 ****
|
||||||
|
--- 153,158 ----
|
||||||
|
#ldoptflags =
|
||||||
|
#ldprofflags =
|
||||||
|
#syslibflags =
|
||||||
|
+ #lapackincflags =
|
||||||
|
|
||||||
|
#end -- dont change this line
|
12
var/spack/repos/builtin/packages/chombo/hdf5-16api.patch
Normal file
12
var/spack/repos/builtin/packages/chombo/hdf5-16api.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
*** lib/src/BoxTools/HDF5Portable.H 2017-05-02 13:57:57.000000000 -0700
|
||||||
|
--- lib/src/BoxTools/HDF5Portable.H.patched 2017-05-02 13:55:30.000000000 -0700
|
||||||
|
***************
|
||||||
|
*** 15,20 ****
|
||||||
|
--- 15,21 ----
|
||||||
|
extern "C"
|
||||||
|
{
|
||||||
|
#ifdef CH_USE_HDF5
|
||||||
|
+ #define H5_USE_16_API
|
||||||
|
#include <hdf5.h>
|
||||||
|
#else
|
||||||
|
typedef long hid_t;
|
140
var/spack/repos/builtin/packages/chombo/package.py
Normal file
140
var/spack/repos/builtin/packages/chombo/package.py
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
##############################################################################
|
||||||
|
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||||
|
# Produced at the Lawrence Livermore National Laboratory.
|
||||||
|
#
|
||||||
|
# This file is part of Spack.
|
||||||
|
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||||
|
# LLNL-CODE-647188
|
||||||
|
#
|
||||||
|
# For details, see https://github.com/llnl/spack
|
||||||
|
# Please also see the LICENSE file for our notice and the LGPL.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License (as
|
||||||
|
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||||
|
# conditions of the GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public
|
||||||
|
# License along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
##############################################################################
|
||||||
|
from spack import *
|
||||||
|
from shutil import copyfile
|
||||||
|
import glob
|
||||||
|
|
||||||
|
|
||||||
|
class Chombo(MakefilePackage):
|
||||||
|
"""The Chombo package provides a set of tools for implementing finite
|
||||||
|
difference and finite-volume methods for the solution of partial
|
||||||
|
differential equations on block-structured adaptively refined
|
||||||
|
logically rectangular (i.e. Cartesian) grids."""
|
||||||
|
|
||||||
|
homepage = "https://commons.lbl.gov/display/chombo"
|
||||||
|
url = "http://bitbucket.org/drhansj/chombo-xsdk.git"
|
||||||
|
|
||||||
|
# Use whatever path Brian V. and Terry L. agreed upon, but preserve version
|
||||||
|
version('3.2', git='http://bitbucket.org/drhansj/chombo-xsdk.git', commit='71d856c')
|
||||||
|
version('develop', git='http://bitbucket.org/drhansj/chombo-xsdk.git', tag='master')
|
||||||
|
# version('3.2', svn='https://anag-repo.lbl.gov/svn/Chombo/release/3.2')
|
||||||
|
|
||||||
|
variant('mpi', default=True, description='Enable MPI parallel support')
|
||||||
|
variant('hdf5', default=True, description='Enable HDF5 support')
|
||||||
|
variant('dims',
|
||||||
|
default='3',
|
||||||
|
values=('1', '2', '3', '4', '5', '6'),
|
||||||
|
multi=False,
|
||||||
|
description='Number of PDE dimensions [1-6]'
|
||||||
|
)
|
||||||
|
|
||||||
|
patch('hdf5-16api.patch', when='@3.2', level=0)
|
||||||
|
patch('Make.defs.local.template.patch', when='@3.2', level=0)
|
||||||
|
|
||||||
|
depends_on('blas')
|
||||||
|
depends_on('lapack')
|
||||||
|
depends_on('gmake', type='build')
|
||||||
|
depends_on('mpi', when='+mpi')
|
||||||
|
depends_on('hdf5', when='+hdf5')
|
||||||
|
depends_on('hdf5+mpi', when='+mpi+hdf5')
|
||||||
|
|
||||||
|
def edit(self, spec, prefix):
|
||||||
|
|
||||||
|
# Set fortran name mangling in Make.defs
|
||||||
|
defs_file = FileFilter('./lib/mk/Make.defs')
|
||||||
|
defs_file.filter('^\s*#\s*cppcallsfort\s*=\s*',
|
||||||
|
'cppcallsfort = -DCH_FORT_UNDERSCORE')
|
||||||
|
|
||||||
|
# Set remaining variables in Make.defs.local
|
||||||
|
# Make.defs.local.template.patch ensures lines for USE_TIMER,
|
||||||
|
# USE_LAPACK and lapackincflags are present
|
||||||
|
copyfile('./lib/mk/Make.defs.local.template',
|
||||||
|
'./lib/mk/Make.defs.local')
|
||||||
|
|
||||||
|
defs_file = FileFilter('./lib/mk/Make.defs.local')
|
||||||
|
|
||||||
|
# Unconditional settings
|
||||||
|
defs_file.filter('^\s*#\s*DEBUG\s*=\s*', 'DEBUG = FALSE')
|
||||||
|
defs_file.filter('^\s*#\s*OPT\s*=\s*', 'OPT = TRUE')
|
||||||
|
defs_file.filter('^\s*#\s*PIC\s*=\s*', 'PIC = TRUE')
|
||||||
|
# timer code frequently fails compiles. So disable it.
|
||||||
|
defs_file.filter('^\s*#\s*USE_TIMER\s*=\s*', 'USE_TIMER = FALSE')
|
||||||
|
|
||||||
|
# LAPACK setup
|
||||||
|
lapack_blas = spec['lapack'].libs + spec['blas'].libs
|
||||||
|
defs_file.filter('^\s*#\s*USE_LAPACK\s*=\s*', 'USE_LAPACK = TRUE')
|
||||||
|
defs_file.filter(
|
||||||
|
'^\s*#\s*lapackincflags\s*=\s*',
|
||||||
|
'lapackincflags = -I%s' % spec['lapack'].prefix.include)
|
||||||
|
defs_file.filter(
|
||||||
|
'^\s*#\s*syslibflags\s*=\s*',
|
||||||
|
'syslibflags = %s' % lapack_blas.ld_flags)
|
||||||
|
|
||||||
|
# Compilers and Compiler flags
|
||||||
|
defs_file.filter('^\s*#\s*CXX\s*=\s*', 'CXX = %s' % spack_cxx)
|
||||||
|
defs_file.filter('^\s*#\s*FC\s*=\s*', 'FC = %s' % spack_fc)
|
||||||
|
if '+mpi' in spec:
|
||||||
|
defs_file.filter(
|
||||||
|
'^\s*#\s*MPICXX\s*=\s*',
|
||||||
|
'MPICXX = %s' % self.spec['mpi'].mpicxx)
|
||||||
|
|
||||||
|
# Conditionally determined settings
|
||||||
|
defs_file.filter(
|
||||||
|
'^\s*#\s*MPI\s*=\s*',
|
||||||
|
'MPI = %s' % ('TRUE' if '+mpi' in spec else 'FALSE'))
|
||||||
|
defs_file.filter(
|
||||||
|
'^\s*#\s*DIM\s*=\s*',
|
||||||
|
'DIM = %s' % spec.variants['dims'].value)
|
||||||
|
|
||||||
|
# HDF5 settings
|
||||||
|
if '+hdf5' in spec:
|
||||||
|
defs_file.filter('^\s*#\s*USE_HDF5\s*=\s*', 'USE_HDF5 = TRUE')
|
||||||
|
defs_file.filter(
|
||||||
|
'^\s*#\s*HDFINCFLAGS\s*=.*',
|
||||||
|
'HDFINCFLAGS = -I%s' % spec['hdf5'].prefix.include)
|
||||||
|
defs_file.filter(
|
||||||
|
'^\s*#\s*HDFLIBFLAGS\s*=.*',
|
||||||
|
'HDFLIBFLAGS = %s' % spec['hdf5'].libs.ld_flags)
|
||||||
|
if '+mpi' in spec:
|
||||||
|
defs_file.filter(
|
||||||
|
'^\s*#\s*HDFMPIINCFLAGS\s*=.*',
|
||||||
|
'HDFMPIINCFLAGS = -I%s' % spec['hdf5'].prefix.include)
|
||||||
|
defs_file.filter(
|
||||||
|
'^\s*#\s*HDFMPILIBFLAGS\s*=.*',
|
||||||
|
'HDFMPILIBFLAGS = %s' % spec['hdf5'].libs.ld_flags)
|
||||||
|
|
||||||
|
def build(self, spec, prefix):
|
||||||
|
with working_dir('lib'):
|
||||||
|
gmake('all')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
with working_dir('lib'):
|
||||||
|
install_tree('include', prefix.include)
|
||||||
|
libfiles = glob.glob('lib*.a')
|
||||||
|
libfiles += glob.glob('lib*.so')
|
||||||
|
libfiles += glob.glob('lib*.dylib')
|
||||||
|
mkdirp(prefix.lib)
|
||||||
|
for lib in libfiles:
|
||||||
|
install(lib, prefix.lib)
|
65
var/spack/repos/builtin/packages/fastmath/package.py
Normal file
65
var/spack/repos/builtin/packages/fastmath/package.py
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
##############################################################################
|
||||||
|
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||||
|
# Produced at the Lawrence Livermore National Laboratory.
|
||||||
|
#
|
||||||
|
# This file is part of Spack.
|
||||||
|
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||||
|
# LLNL-CODE-647188
|
||||||
|
#
|
||||||
|
# For details, see https://github.com/llnl/spack
|
||||||
|
# Please also see the LICENSE file for our notice and the LGPL.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License (as
|
||||||
|
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||||
|
# conditions of the GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public
|
||||||
|
# License along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
##############################################################################
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class Fastmath(Package):
|
||||||
|
"""FASTMath is a suite of ~15 numerical libraries frequently used together
|
||||||
|
in various SciDAC and CSE applications. The suite includes discretization
|
||||||
|
libraries for structured, AMR and unstructured grids as well as solver
|
||||||
|
libraries for ODE's, Time Integrators, Iterative, Non-Linear, and Direct
|
||||||
|
Solvers."""
|
||||||
|
|
||||||
|
homepage = "www.fastmath-scidac.org/"
|
||||||
|
url = "https://github.com/citibeth/dummy/tarball/v1.0"
|
||||||
|
|
||||||
|
version('1.0', 'e2b724dfcc31d735897971db91be89ff')
|
||||||
|
|
||||||
|
# BundlePackage
|
||||||
|
depends_on('boxlib dims=3')
|
||||||
|
depends_on('chombo@3.2')
|
||||||
|
depends_on('hypre~internal-superlu')
|
||||||
|
depends_on('mesquite')
|
||||||
|
# depends_on('ml-trilinos') # hoping for stripped down install of just ml
|
||||||
|
# depends_on('nox-trilinos') # hoping for stripped down install of just nox
|
||||||
|
depends_on('moab')
|
||||||
|
depends_on('mpi')
|
||||||
|
depends_on('parpack') # we need parpack ng
|
||||||
|
depends_on('petsc')
|
||||||
|
depends_on('phasta')
|
||||||
|
depends_on('pumi')
|
||||||
|
depends_on('sundials')
|
||||||
|
depends_on('superlu-dist')
|
||||||
|
depends_on('trilinos')
|
||||||
|
depends_on('zoltan')
|
||||||
|
|
||||||
|
# Dummy install for now, will be removed when metapackage is available
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
# Prevent the error message
|
||||||
|
# ==> Error: Install failed for fastmath. Nothing was installed!
|
||||||
|
# ==> Error: Installation process had nonzero exit code : 256
|
||||||
|
with open(join_path(spec.prefix, 'bundle-package.txt'), 'w') as out:
|
||||||
|
out.write('This is a bundle\n')
|
||||||
|
out.close()
|
56
var/spack/repos/builtin/packages/mesquite/package.py
Normal file
56
var/spack/repos/builtin/packages/mesquite/package.py
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
##############################################################################
|
||||||
|
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||||
|
# Produced at the Lawrence Livermore National Laboratory.
|
||||||
|
#
|
||||||
|
# This file is part of Spack.
|
||||||
|
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||||
|
# LLNL-CODE-647188
|
||||||
|
#
|
||||||
|
# For details, see https://github.com/llnl/spack
|
||||||
|
# Please also see the LICENSE file for our notice and the LGPL.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License (as
|
||||||
|
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||||
|
# conditions of the GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public
|
||||||
|
# License along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
##############################################################################
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class Mesquite(AutotoolsPackage):
|
||||||
|
"""Mesquite (Mesh Quality Improvement Toolkit) is designed to provide a
|
||||||
|
stand-alone, portable, comprehensive suite of mesh quality improvement
|
||||||
|
algorithms and components that can be used to construct custom quality
|
||||||
|
improvement algorithms. Mesquite provides a robust and effective mesh
|
||||||
|
improvement toolkit that allows both meshing researchers application
|
||||||
|
scientists to benefit from the latest developments in mesh quality
|
||||||
|
control and improvement."""
|
||||||
|
|
||||||
|
homepage = "https://software.sandia.gov/mesquite"
|
||||||
|
url = "https://software.sandia.gov/mesquite/mesquite-2.3.0.tar.gz"
|
||||||
|
|
||||||
|
version('2.99', '92b94167981bb8fcd59b0f0f18fbab64')
|
||||||
|
version('2.3.0', 'f64948b5210d5ccffaa9a2482447b322')
|
||||||
|
version('2.2.0', '41360c363e541aff7dc10024c90072d3')
|
||||||
|
|
||||||
|
variant('mpi', default=True, description='Enable MPI parallel support')
|
||||||
|
|
||||||
|
depends_on('mpi', when='+mpi')
|
||||||
|
|
||||||
|
def configure_args(self):
|
||||||
|
args = [
|
||||||
|
'CC=%s' % self.spec['mpi'].mpicc,
|
||||||
|
'CXX=%s' % self.spec['mpi'].mpicxx,
|
||||||
|
'--with-mpi=%s' % self.spec['mpi'].prefix,
|
||||||
|
'--enable-release',
|
||||||
|
'--enable-shared',
|
||||||
|
]
|
||||||
|
return args
|
@ -57,7 +57,9 @@ class Moab(Package):
|
|||||||
|
|
||||||
depends_on('mpi')
|
depends_on('mpi')
|
||||||
depends_on('hdf5+mpi')
|
depends_on('hdf5+mpi')
|
||||||
|
depends_on('netcdf', when='+netcdf')
|
||||||
depends_on('netcdf+mpi', when='+netcdf')
|
depends_on('netcdf+mpi', when='+netcdf')
|
||||||
|
depends_on('metis')
|
||||||
depends_on('parmetis')
|
depends_on('parmetis')
|
||||||
depends_on('zoltan')
|
depends_on('zoltan')
|
||||||
depends_on('zoltan~fortran', when='~fortran')
|
depends_on('zoltan~fortran', when='~fortran')
|
||||||
@ -67,13 +69,35 @@ def install(self, spec, prefix):
|
|||||||
options = [
|
options = [
|
||||||
'--prefix=%s' % prefix,
|
'--prefix=%s' % prefix,
|
||||||
'--enable-optimize',
|
'--enable-optimize',
|
||||||
'--enable-tools',
|
'--disable-tools',
|
||||||
|
'--disable-mbconvert',
|
||||||
|
'--disable-hexmodops',
|
||||||
|
'--disable-vtkMOABReader',
|
||||||
|
'--disable-mbsize',
|
||||||
|
'--disable-mbskin',
|
||||||
|
'--disable-mbtagprop',
|
||||||
|
'--disable-mbmem',
|
||||||
|
'--disable-spheredecomp',
|
||||||
|
'--disable-mbsurfplot',
|
||||||
|
'--disable-mbpart',
|
||||||
|
'--disable-dagmc',
|
||||||
|
'--disable-gsets',
|
||||||
|
'--disable-mbmerge',
|
||||||
|
'--disable-mbdepth',
|
||||||
|
'--disable-mbcoupler',
|
||||||
|
'--disable-mcnpmit',
|
||||||
|
'--disable-refiner',
|
||||||
|
'--disable-h5mtools',
|
||||||
|
'--disable-mbcslam',
|
||||||
|
'--disable-mbquality',
|
||||||
|
'--disable-ahf',
|
||||||
|
'--disable-mbumr',
|
||||||
|
'--disable-imesh',
|
||||||
'--with-pic',
|
'--with-pic',
|
||||||
'--with-mpi=%s' % spec['mpi'].prefix,
|
'--with-mpi=%s' % spec['mpi'].prefix,
|
||||||
'--with-hdf5=%s' % spec['hdf5'].prefix,
|
'--with-hdf5=%s' % spec['hdf5'].prefix,
|
||||||
'--with-parmetis=%s' % spec['parmetis'].prefix,
|
'--with-parmetis=%s' % spec['parmetis'].prefix,
|
||||||
'--with-zoltan=%s' % spec['zoltan'].prefix,
|
'--with-zoltan=%s' % spec['zoltan'].prefix,
|
||||||
'--disable-vtkMOABReader',
|
|
||||||
'--without-vtk',
|
'--without-vtk',
|
||||||
'CXX=%s' % spec['mpi'].mpicxx,
|
'CXX=%s' % spec['mpi'].mpicxx,
|
||||||
'CC=%s' % spec['mpi'].mpicc,
|
'CC=%s' % spec['mpi'].mpicc,
|
||||||
|
61
var/spack/repos/builtin/packages/phasta/package.py
Normal file
61
var/spack/repos/builtin/packages/phasta/package.py
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
##############################################################################
|
||||||
|
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||||
|
# Produced at the Lawrence Livermore National Laboratory.
|
||||||
|
#
|
||||||
|
# This file is part of Spack.
|
||||||
|
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||||
|
# LLNL-CODE-647188
|
||||||
|
#
|
||||||
|
# For details, see https://github.com/llnl/spack
|
||||||
|
# Please also see the LICENSE file for our notice and the LGPL.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License (as
|
||||||
|
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||||
|
# conditions of the GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public
|
||||||
|
# License along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
##############################################################################
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class Phasta(CMakePackage):
|
||||||
|
"""SCOREC RPI's Parallel Hierarchic Adaptive Stabilized Transient Analysis
|
||||||
|
(PHASTA) of compressible and incompressible Navier Stokes equations."""
|
||||||
|
|
||||||
|
homepage = "https://www.scorec.rpi.edu/software.php"
|
||||||
|
url = "https://github.com/PHASTA/phasta.git"
|
||||||
|
|
||||||
|
version('0.0.1', git='https://github.com/PHASTA/phasta.git',
|
||||||
|
commit='11f431f2d1a53a529dab4b0f079ab8aab7ca1109')
|
||||||
|
version('develop', git='https://github.com/PHASTA/phasta.git',
|
||||||
|
branch='master')
|
||||||
|
|
||||||
|
depends_on('mpi')
|
||||||
|
|
||||||
|
def cmake_args(self):
|
||||||
|
spec = self.spec
|
||||||
|
|
||||||
|
args = [
|
||||||
|
'-DPHASTA_USE_MPI=ON',
|
||||||
|
'-DPHASTA_BUILD_CONVERTERIO=OFF',
|
||||||
|
'-DPHASTA_BUILD_ACUSTAT=OFF',
|
||||||
|
'-DPHASTA_BUILD_M2N=OFF',
|
||||||
|
'-DPHASTA_BUILD_M2NFixBnd=OFF',
|
||||||
|
'-DPHASTA_USE_LESLIB=OFF',
|
||||||
|
'-DPHASTA_USE_PETSC=OFF',
|
||||||
|
'-DPHASTA_USE_SVLS=ON',
|
||||||
|
'-DPHASTA_INCOMPRESSIBLE=ON',
|
||||||
|
'-DPHASTA_COMPRESSIBLE=ON',
|
||||||
|
'-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
|
||||||
|
'-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
|
||||||
|
'-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc,
|
||||||
|
]
|
||||||
|
|
||||||
|
return args
|
65
var/spack/repos/builtin/packages/pumi/package.py
Normal file
65
var/spack/repos/builtin/packages/pumi/package.py
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
##############################################################################
|
||||||
|
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
|
||||||
|
# Produced at the Lawrence Livermore National Laboratory.
|
||||||
|
#
|
||||||
|
# This file is part of Spack.
|
||||||
|
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||||
|
# LLNL-CODE-647188
|
||||||
|
#
|
||||||
|
# For details, see https://github.com/llnl/spack
|
||||||
|
# Please also see the LICENSE file for our notice and the LGPL.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License (as
|
||||||
|
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||||
|
# conditions of the GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public
|
||||||
|
# License along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
##############################################################################
|
||||||
|
from spack import *
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
class Pumi(CMakePackage):
|
||||||
|
"""SCOREC RPI's Parallel Unstructured Mesh Infrastructure (PUMI).
|
||||||
|
An efficient distributed mesh data structure and methods to support
|
||||||
|
parallel adaptive analysis including general mesh-based operations,
|
||||||
|
such as mesh entity creation/deletion, adjacency and geometric
|
||||||
|
classification, iterators, arbitrary (field) data attachable to mesh
|
||||||
|
entities, efficient communication involving entities duplicated
|
||||||
|
across multiple tasks, migration of mesh entities between tasks,
|
||||||
|
and dynamic load balancing."""
|
||||||
|
|
||||||
|
homepage = "https://www.scorec.rpi.edu/pumi"
|
||||||
|
url = "https://github.com/SCOREC/core.git"
|
||||||
|
|
||||||
|
version('0.0.1', git='https://github.com/SCOREC/core.git',
|
||||||
|
commit='0c315e82b3f2478dc18bdd6cfa89f1cddb85cd6a')
|
||||||
|
version('develop', git='https://github.com/SCOREC/core.git',
|
||||||
|
branch='master')
|
||||||
|
|
||||||
|
if sys.platform == 'darwin':
|
||||||
|
patch('phiotimer.cc.darwin.patch', level=0) # !clock_gettime
|
||||||
|
|
||||||
|
variant('zoltan', default=False, description='Enable Zoltan Features')
|
||||||
|
|
||||||
|
depends_on('mpi')
|
||||||
|
depends_on('zoltan', when='+zoltan')
|
||||||
|
|
||||||
|
def cmake_args(self):
|
||||||
|
spec = self.spec
|
||||||
|
|
||||||
|
args = [
|
||||||
|
'-DSCOREC_CXX_WARNINGS=OFF',
|
||||||
|
'-DENABLE_ZOLTAN=%s' % ('ON' if '+zoltan' in spec else 'OFF'),
|
||||||
|
'-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc,
|
||||||
|
'-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx,
|
||||||
|
]
|
||||||
|
|
||||||
|
return args
|
@ -0,0 +1,21 @@
|
|||||||
|
*** ./phasta/phiotimer.cc 2017-05-03 12:26:25.000000000 -0700
|
||||||
|
--- ./phasta/phiotimer.cc.patched 2017-05-03 12:26:11.000000000 -0700
|
||||||
|
***************
|
||||||
|
*** 56,63 ****
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
void phastaio_time(phastaioTime* t) {
|
||||||
|
! int err;
|
||||||
|
! err = clock_gettime(CLOCK_MONOTONIC,t);
|
||||||
|
PCU_ALWAYS_ASSERT(!err);
|
||||||
|
}
|
||||||
|
/*return elapsed time in micro seconds*/
|
||||||
|
--- 56,63 ----
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
void phastaio_time(phastaioTime* t) {
|
||||||
|
! int err=0;
|
||||||
|
! /*err = clock_gettime(CLOCK_MONOTONIC,t);*/
|
||||||
|
PCU_ALWAYS_ASSERT(!err);
|
||||||
|
}
|
||||||
|
/*return elapsed time in micro seconds*/
|
Loading…
Reference in New Issue
Block a user