Added more FASTMath packages.
This commit is contained in:
parent
454d06c25c
commit
fd34f4b119
13 changed files with 278 additions and 19 deletions
22
var/spack/packages/arpack/package.py
Normal file
22
var/spack/packages/arpack/package.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Arpack(Package):
|
||||||
|
"""FIXME: put a proper description of your package here."""
|
||||||
|
homepage = "http://www.caam.rice.edu/software/ARPACK/"
|
||||||
|
url = "http://www.caam.rice.edu/software/ARPACK/SRC/arpack96.tar.gz"
|
||||||
|
|
||||||
|
version('96', 'fffaa970198b285676f4156cebc8626e')
|
||||||
|
|
||||||
|
depends_on('blas')
|
||||||
|
depends_on('lapack')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
move('./ARMAKES/ARmake.CRAY', './ARmake.inc')
|
||||||
|
filter_file('PLAT = CRAY', 'PLAT = ', './ARmake.inc', string=True)
|
||||||
|
filter_file('home = $(HOME)/ARPACK', 'home = %s' % pwd(), './ARmake.inc', string=True)
|
||||||
|
filter_file('BLASdir = $(home)/BLAS', 'BLASdir = %s' % spec['blas'].prefix, './ARmake.inc', string=True)
|
||||||
|
filter_file('LAPACKdir = $(home)/LAPACK', 'LAPACKdir = %s' % spec['lapack'].prefix, './ARmake.inc', string=True)
|
||||||
|
filter_file('ARPACKLIB = $(home)/libarpack_$(PLAT).a', 'ARPACKLIB = %s/lib/libarpack.a' % prefix, './ARmake.inc', string=True)
|
||||||
|
|
||||||
|
cd('./SRC')
|
||||||
|
make('all')
|
15
var/spack/packages/arpack/package.py.save
Normal file
15
var/spack/packages/arpack/package.py.save
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Arpack(Package):
|
||||||
|
"""ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems."""
|
||||||
|
|
||||||
|
homepage = "http://www.caam.rice.edu/software/ARPACK/"
|
||||||
|
url = "http://www.caam.rice.edu/software/ARPACK/SRC/arpack96.tar.gz"
|
||||||
|
|
||||||
|
version('96', 'fffaa970198b285676f4156cebc8626e')
|
||||||
|
|
||||||
|
depends_on("blas")
|
||||||
|
depends_on("lapack")
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
|
15
var/spack/packages/boxlib/package.py
Normal file
15
var/spack/packages/boxlib/package.py
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Boxlib(Package):
|
||||||
|
"""BoxLib, a software framework for massively parallel block-structured adaptive mesh refinement (AMR) codes."""
|
||||||
|
|
||||||
|
homepage = "https://ccse.lbl.gov/BoxLib/"
|
||||||
|
url = "https://ccse.lbl.gov/pub/Downloads/BoxLib.git";
|
||||||
|
|
||||||
|
version('master', 'https://ccse.lbl.gov/pub/Downloads/BoxLib.git')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
#configure("--prefix=%s" % prefix)
|
||||||
|
#make()
|
||||||
|
#make("install")
|
||||||
|
cd(pwd())
|
22
var/spack/packages/cblas/package.py
Normal file
22
var/spack/packages/cblas/package.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
from spack import *
|
||||||
|
import os
|
||||||
|
|
||||||
|
class Cblas(Package):
|
||||||
|
"""The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard
|
||||||
|
building blocks for performing basic vector and matrix operations."""
|
||||||
|
|
||||||
|
homepage = "http://www.netlib.org/blas/_cblas/"
|
||||||
|
|
||||||
|
version('unversioned', '1e8830f622d2112239a4a8a83b84209a',
|
||||||
|
url='http://www.netlib.org/blas/blast-forum/cblas.tgz')
|
||||||
|
|
||||||
|
depends_on('blas')
|
||||||
|
parallel = False
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
filter_file('BLLIB = /Users/julie/Documents/Boulot/lapack-dev/lapack/trunk/blas_LINUX.a', 'BLLIB = %s/libblas.a' % spec['blas'].prefix.lib, './Makefile.in', string=True)
|
||||||
|
|
||||||
|
make('all') # Compile.
|
||||||
|
mkdirp('%s' % prefix.lib) # Create the lib dir inside the install dir.
|
||||||
|
move('./lib/cblas_LINUX.a', '%s/libcblas.a' % prefix.lib) # Rename the generated lib file to libcblas.a
|
||||||
|
|
22
var/spack/packages/cgm/package.py
Normal file
22
var/spack/packages/cgm/package.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Cgm(Package):
|
||||||
|
"""The Common Geometry Module, Argonne (CGMA) is a code library which provides geometry functionality used for mesh generation and other applications."""
|
||||||
|
homepage = "http://trac.mcs.anl.gov/projects/ITAPS/wiki/CGM"
|
||||||
|
url = "http://ftp.mcs.anl.gov/pub/fathom/cgm13.1.1.tar.gz"
|
||||||
|
|
||||||
|
version('13.1.1', '4e8dbc4ba8f65767b29f985f7a23b01f')
|
||||||
|
version('13.1.0', 'a6c7b22660f164ce893fb974f9cb2028')
|
||||||
|
version('13.1' , '95f724bda04919fc76818a5b7bc0b4ed')
|
||||||
|
|
||||||
|
depends_on("openmpi")
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure("--with-mpi",
|
||||||
|
"--prefix=%s" % prefix,
|
||||||
|
"CFLAGS=-static",
|
||||||
|
"CXXFLAGS=-static",
|
||||||
|
"FCFLAGS=-static")
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
15
var/spack/packages/fastmath/package.py
Normal file
15
var/spack/packages/fastmath/package.py
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Fastmath(Package):
|
||||||
|
"""Dummy groupinstall package that installs all packages in the fastmath suite."""
|
||||||
|
|
||||||
|
homepage = "http://redmine.scorec.rpi.edu/projects/fastmath"
|
||||||
|
url = "http://www.netlib.org/blas/blas.tgz"
|
||||||
|
|
||||||
|
version('1.0', '5e99e975f7a1e3ea6abcad7c6e7e42e6')
|
||||||
|
|
||||||
|
depends_on('blas')
|
||||||
|
depends_on('lapack')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
pwd()
|
|
@ -23,9 +23,9 @@ def install(self, spec, prefix):
|
||||||
"--prefix=%s" % prefix,
|
"--prefix=%s" % prefix,
|
||||||
"--with-zlib=%s" % spec['zlib'].prefix,
|
"--with-zlib=%s" % spec['zlib'].prefix,
|
||||||
"--enable-parallel",
|
"--enable-parallel",
|
||||||
"--enable-shared",
|
"--enable-shared")
|
||||||
"CC=%s" % spec['mpich'].prefix.bin + "/mpicc",
|
# "CC=%s" % spec['mpich'].prefix.bin + "/mpicc",
|
||||||
"CXX=%s" % spec['mpich'].prefix.bin + "/mpic++")
|
# "CXX=%s" % spec['mpich'].prefix.bin + "/mpic++")
|
||||||
|
|
||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
|
33
var/spack/packages/hypre/package.py
Normal file
33
var/spack/packages/hypre/package.py
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Hypre(Package):
|
||||||
|
"""Hypre is a library of high performance preconditioners that features parallel multigrid
|
||||||
|
methods for both structured and unstructured grid problems."""
|
||||||
|
|
||||||
|
homepage = "https://computation.llnl.gov/project/linear_solvers/software.php"
|
||||||
|
url = "https://computation.llnl.gov/project/linear_solvers/download/hypre-2.10.0b.tar.gz"
|
||||||
|
|
||||||
|
version('2.10.0b', '768be38793a35bb5d055905b271f5b8e')
|
||||||
|
|
||||||
|
depends_on("openmpi")
|
||||||
|
depends_on("blas")
|
||||||
|
depends_on("lapack")
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
blas_dir = spec['blas'].prefix
|
||||||
|
lapack_dir = spec['lapack'].prefix
|
||||||
|
|
||||||
|
# Hypre's source is staged under ./src so we'll have to manually
|
||||||
|
# cd into it.
|
||||||
|
cd("./src")
|
||||||
|
|
||||||
|
configure(
|
||||||
|
"--prefix=%s" % prefix,
|
||||||
|
"--with-blas-libs=blas",
|
||||||
|
"--with-blas-lib-dirs=%s/lib" % blas_dir,
|
||||||
|
"--with-lapack-libs=\"lapack blas\"",
|
||||||
|
"--with-lapack-lib-dirs=%s/lib" % lapack_dir,
|
||||||
|
"--with-MPI")
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
26
var/spack/packages/hypre/package.py.save
Normal file
26
var/spack/packages/hypre/package.py.save
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Hypre(Package):
|
||||||
|
"""Hypre is a library of high performance preconditioners that features parallel multigrid
|
||||||
|
methods for both structured and unstructured grid problems."""
|
||||||
|
|
||||||
|
homepage = "https://computation.llnl.gov/project/linear_solvers/software.php"
|
||||||
|
url = "https://computation.llnl.gov/project/linear_solvers/download/hypre-2.10.0b.tar.gz"
|
||||||
|
|
||||||
|
version('2.10.0b', '768be38793a35bb5d055905b271f5b8e')
|
||||||
|
|
||||||
|
depends_on("openmpi")
|
||||||
|
depends_on("blas")
|
||||||
|
depends_on("lapack")
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
lapack_dir = spec['lapack'].prefix
|
||||||
|
configure(
|
||||||
|
"--prefix=%s" % prefix,
|
||||||
|
"--with-blas-libs=blas",
|
||||||
|
"--with-blas-lib-dirs=%s/lib" % spec['blas'].prefix,
|
||||||
|
"--with-lapack-libs=lapack blas",
|
||||||
|
"--with-lapack-lib-dirs=%s/lib" % lapack_dir)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
|
@ -5,28 +5,23 @@ class Metis(Package):
|
||||||
partitioning finite element meshes, and producing fill reducing
|
partitioning finite element meshes, and producing fill reducing
|
||||||
orderings for sparse matrices. The algorithms implemented in
|
orderings for sparse matrices. The algorithms implemented in
|
||||||
METIS are based on the multilevel recursive-bisection,
|
METIS are based on the multilevel recursive-bisection,
|
||||||
multilevel k-way, and multi-constraint partitioning schemes
|
multilevel k-way, and multi-constraint partitioning schemes."""
|
||||||
developed in our lab."""
|
|
||||||
|
|
||||||
homepage = "http://glaros.dtc.umn.edu/gkhome/metis/metis/overview"
|
homepage = "http://glaros.dtc.umn.edu/gkhome/metis/metis/overview"
|
||||||
url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz"
|
url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz"
|
||||||
|
|
||||||
version('5.1.0', '5465e67079419a69e0116de24fce58fe')
|
version('5.1.0', '5465e67079419a69e0116de24fce58fe')
|
||||||
|
|
||||||
# FIXME: Add dependencies if this package requires them.
|
depends_on('mpi')
|
||||||
# depends_on("foo")
|
|
||||||
|
|
||||||
def patch(self):
|
|
||||||
filter_file(r'#define IDXTYPEWIDTH 32', '#define IDXTYPEWIDTH 64', 'include/metis.h',
|
|
||||||
string=True)
|
|
||||||
|
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
with working_dir('spack-build', create=True):
|
cmake(".",
|
||||||
cmake('..',
|
'-DGKLIB_PATH=%s/GKlib' % pwd(),
|
||||||
'-DGKLIB_PATH=../GKlib',
|
'-DSHARED=1',
|
||||||
'-DBUILD_SHARED_LIBS=TRUE',
|
'-DCMAKE_C_COMPILER=mpicc',
|
||||||
*std_cmake_args)
|
'-DCMAKE_CXX_COMPILER=mpicxx',
|
||||||
make()
|
'-DSHARED=1',
|
||||||
make("install")
|
*std_cmake_args)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
||||||
|
|
26
var/spack/packages/parpack/package.py
Normal file
26
var/spack/packages/parpack/package.py
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Parpack(Package):
|
||||||
|
"""ARPACK is a collection of Fortran77 subroutines designed to solve large
|
||||||
|
scale eigenvalue problems."""
|
||||||
|
|
||||||
|
homepage = "http://www.caam.rice.edu/software/ARPACK/download.html"
|
||||||
|
url = "http://www.caam.rice.edu/software/ARPACK/SRC/parpack96.tar.Z"
|
||||||
|
|
||||||
|
version('96', 'a175f70ff71837a33ff7e4b0b6054f43')
|
||||||
|
|
||||||
|
depends_on('blas')
|
||||||
|
depends_on('lapack')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
move("./ARMAKES/ARmake.CJ", "./ARmake.inc");
|
||||||
|
filter_file('home = /home1/Netlib/ARPACK', 'home = %s' % pwd(), './ARmake.inc', string=True)
|
||||||
|
filter_file('PLAT = CJ', 'PLAT = ', './ARmake.inc', string=True)
|
||||||
|
filter_file('LAPACKdir = $(home)/LAPACK', 'LAPACKLIB = %s' % spec['lapack'].prefix, './ARmake.inc', string=True)
|
||||||
|
filter_file('BLASdir = $(home)/BLAS', 'BLASLIB = %s' % spec['blas'].prefix, './ARmake.inc', string=True)
|
||||||
|
filter_file('ARPACKLIB = $(home)/libarpack_$(PLAT).a', 'ARPACKLIB = %s/libarpack.a' % prefix, './ARmake.inc', string=True)
|
||||||
|
filter_file('MAKE = /bin/make', 'MAKE = make', './ARmake.inc', string=True)
|
||||||
|
filter_file('FFLAGS', '#FFLAGS', './ARmake.inc', string=True)
|
||||||
|
filter_file('FC = f77', 'FC = gfortran', './ARmake.inc', string=True)
|
||||||
|
cd('./PARPACK/SRC/MPI')
|
||||||
|
make('all')
|
35
var/spack/packages/petsc/package.py
Normal file
35
var/spack/packages/petsc/package.py
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Petsc(Package):
|
||||||
|
"""PETSc is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations."""
|
||||||
|
|
||||||
|
homepage = "http://www.mcs.anl.gov/petsc/index.html"
|
||||||
|
url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.5.3.tar.gz"
|
||||||
|
|
||||||
|
version('3.5.3', 'd4fd2734661e89f18ac6014b5dd1ef2f')
|
||||||
|
version('3.5.2', 'ad170802b3b058b5deb9cd1f968e7e13')
|
||||||
|
version('3.5.1', 'a557e029711ebf425544e117ffa44d8f')
|
||||||
|
|
||||||
|
depends_on("blas")
|
||||||
|
depends_on("lapack")
|
||||||
|
depends_on("hypre")
|
||||||
|
depends_on("parmetis")
|
||||||
|
depends_on("metis")
|
||||||
|
depends_on("hdf5")
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure("--prefix=%s" % prefix,
|
||||||
|
"--with-blas-lib=%s/lib/libblas.a" % spec['blas'].prefix,
|
||||||
|
"--with-lapack-lib=%s/lib/liblapack.a" % spec['lapack'].prefix,
|
||||||
|
"--with-hypre-lib=%s/lib/libhypre.a" % spec['hypre'].prefix,
|
||||||
|
"--with-hypre-include=%s/include" % spec['hypre'].prefix,
|
||||||
|
"--with-parmetis-lib=%s/lib/libparmetis.a" % spec['parmetis'].prefix,
|
||||||
|
"--with-parmetis-include=%s/include" % spec['parmetis'].prefix,
|
||||||
|
"--with-metis-lib=%s/lib/libmetis.a" % spec['metis'].prefix,
|
||||||
|
"--with-metis-include=%s/include" % spec['metis'].prefix,
|
||||||
|
"--with-hdf5-lib=%s/lib/libhdf5.a" % spec['hdf5'].prefix,
|
||||||
|
"--with-hdf5-include=%s/include" % spec['hdf5'].prefix,
|
||||||
|
"--with-shared-libraries=0")
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
33
var/spack/packages/zoltan_distrib/package.py
Normal file
33
var/spack/packages/zoltan_distrib/package.py
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
# FIXME:
|
||||||
|
# This is a template package file for Spack. We've conveniently
|
||||||
|
# put "FIXME" labels next to all the things you'll want to change.
|
||||||
|
#
|
||||||
|
# Once you've edited all the FIXME's, delete this whole message,
|
||||||
|
# save this file, and test out your package like this:
|
||||||
|
#
|
||||||
|
# spack install zoltan_distrib
|
||||||
|
#
|
||||||
|
# You can always get back here to change things with:
|
||||||
|
#
|
||||||
|
# spack edit zoltan_distrib
|
||||||
|
#
|
||||||
|
# See the spack documentation for more information on building
|
||||||
|
# packages.
|
||||||
|
#
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class ZoltanDistrib(Package):
|
||||||
|
"""FIXME: put a proper description of your package here."""
|
||||||
|
|
||||||
|
homepage = "http://www.example.com"
|
||||||
|
url = "http://www.cs.sandia.gov/~kddevin/Zoltan_Distributions/zoltan_distrib_v3.81.tar.gz"
|
||||||
|
|
||||||
|
version('3.81', 'e0587ac69dbc3b17d28f515ed0933719')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
# FIXME: Modify the configure line to suit your build system here.
|
||||||
|
configure("--prefix=%s" % prefix)
|
||||||
|
|
||||||
|
# FIXME: Add logic to build and install here
|
||||||
|
make()
|
||||||
|
make("install")
|
Loading…
Reference in a new issue