From fbebb94cd621f0d7b37dbe46272fe9a09a9905a7 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Thu, 5 Mar 2015 11:03:07 -0800 Subject: Add cram package. --- var/spack/packages/cram/package.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 var/spack/packages/cram/package.py (limited to 'var') diff --git a/var/spack/packages/cram/package.py b/var/spack/packages/cram/package.py new file mode 100644 index 0000000000..4b8ec56f25 --- /dev/null +++ b/var/spack/packages/cram/package.py @@ -0,0 +1,15 @@ +from spack import * + +class Cram(Package): + """Cram runs many small MPI jobs inside one large MPI job.""" + homepage = "https://github.com/scalability-llnl/cram" + url = "http://github.com/scalability-llnl/cram/archive/v1.0.1.tar.gz" + + version('1.0.1', 'c73711e945cf5dc603e44395f6647f5e') + + depends_on("mpi") + + def install(self, spec, prefix): + cmake(".", *std_cmake_args) + make() + make("install") -- cgit v1.2.3-70-g09d2 From f8044e02900bda9ae3cdd3b6eebd161b154264e1 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Wed, 11 Mar 2015 18:58:00 -0700 Subject: SAMRAI URL update. --- var/spack/packages/SAMRAI/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'var') diff --git a/var/spack/packages/SAMRAI/package.py b/var/spack/packages/SAMRAI/package.py index 3dfb00b391..3c3b06f647 100644 --- a/var/spack/packages/SAMRAI/package.py +++ b/var/spack/packages/SAMRAI/package.py @@ -7,8 +7,8 @@ class Samrai(Package): structured adaptive mesh refinement (SAMR) technology in large-scale parallel application development. """ - homepage = "https://computation-rnd.llnl.gov/SAMRAI/confirm.php" - url = "https://computation-rnd.llnl.gov/SAMRAI/download/SAMRAI-v3.7.3.tar.gz" + homepage = "https://computation.llnl.gov/project/SAMRAI/" + url = "https://computation.llnl.gov/project/SAMRAI/download/SAMRAI-v3.9.1.tar.gz" list_url = homepage version('3.7.3', '12d574eacadf8c9a70f1bb4cd1a69df6') -- cgit v1.2.3-70-g09d2 From d6c14f40b2c698a3bbf41fb34e3af6ae2fdbba3c Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Wed, 11 Mar 2015 19:14:43 -0700 Subject: SAMRAI builds on cab with new URL. --- var/spack/packages/SAMRAI/package.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'var') diff --git a/var/spack/packages/SAMRAI/package.py b/var/spack/packages/SAMRAI/package.py index 3c3b06f647..eef041f0d5 100644 --- a/var/spack/packages/SAMRAI/package.py +++ b/var/spack/packages/SAMRAI/package.py @@ -11,6 +11,7 @@ class Samrai(Package): url = "https://computation.llnl.gov/project/SAMRAI/download/SAMRAI-v3.9.1.tar.gz" list_url = homepage + version('3.9.1', '232d04d0c995f5abf20d94350befd0b2') version('3.7.3', '12d574eacadf8c9a70f1bb4cd1a69df6') version('3.7.2', 'f6a716f171c9fdbf3cb12f71fa6e2737') version('3.6.3-beta', 'ef0510bf2893042daedaca434e5ec6ce') @@ -24,22 +25,25 @@ class Samrai(Package): depends_on("mpi") depends_on("zlib") depends_on("hdf5") - depends_on("boost@1.52.0") + depends_on("boost") # don't build tools with gcc patch('no-tool-build.patch', when='%gcc') # TODO: currently hard-coded to use openmpi - be careful! def install(self, spec, prefix): + mpi = next(m for m in ('openmpi', 'mpich', 'mvapich') + if m in spec) + configure( "--prefix=%s" % prefix, - "--with-CXX=%s" % spec['openmpi'].prefix.bin + "/mpic++", - "--with-CC=%s" % spec['openmpi'].prefix.bin + "/mpicc", + "--with-CXX=%s" % spec[mpi].prefix.bin + "/mpic++", + "--with-CC=%s" % spec[mpi].prefix.bin + "/mpicc", "--with-hdf5=%s" % spec['hdf5'].prefix, "--with-boost=%s" % spec['boost'].prefix, "--with-zlib=%s" % spec['zlib'].prefix, - "--disable-blas", - "--disable-lapack", + "--without-blas", + "--without-lapack", "--with-hypre=no", "--with-petsc=no", "--enable-opt", -- cgit v1.2.3-70-g09d2 From 14a79a2ddf022a09d65ba92d5450292ca6f79549 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Wed, 11 Feb 2015 14:00:22 -0800 Subject: Add OTF package. --- var/spack/packages/otf/package.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 var/spack/packages/otf/package.py (limited to 'var') diff --git a/var/spack/packages/otf/package.py b/var/spack/packages/otf/package.py new file mode 100644 index 0000000000..52893dd265 --- /dev/null +++ b/var/spack/packages/otf/package.py @@ -0,0 +1,21 @@ +from spack import * + +class Otf(Package): + """To improve scalability for very large and massively parallel + traces the Open Trace Format (OTF) is developed at ZIH as a + successor format to the Vampir Trace Format (VTF3).""" + + homepage = "http://tu-dresden.de/die_tu_dresden/zentrale_einrichtungen/zih/forschung/projekte/otf/index_html/document_view?set_language=en" + url = "http://wwwpub.zih.tu-dresden.de/%7Emlieber/dcount/dcount.php?package=otf&get=OTF-1.12.5salmon.tar.gz" + + version('1.12.5salmon', 'bf260198633277031330e3356dcb4eec') + + depends_on('zlib') + + def install(self, spec, prefix): + configure('--prefix=%s' % prefix, + '--without-vtf3', + '--with-zlib', + '--with-zlibsymbols') + make() + make("install") -- cgit v1.2.3-70-g09d2 From e624ebec0771c3a31387cd02e485876db20c9005 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Wed, 11 Feb 2015 15:26:53 -0800 Subject: Working ravel package. --- var/spack/packages/muster/package.py | 3 ++- var/spack/packages/ravel/package.py | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 var/spack/packages/ravel/package.py (limited to 'var') diff --git a/var/spack/packages/muster/package.py b/var/spack/packages/muster/package.py index 31d03f4b45..722daf3d7f 100644 --- a/var/spack/packages/muster/package.py +++ b/var/spack/packages/muster/package.py @@ -10,7 +10,8 @@ class Muster(Package): homepage = "https://github.com/scalability-llnl/muster" url = "https://github.com/scalability-llnl/muster/archive/v1.0.tar.gz" - version('1.0', '2eec6979a4a36d3a65a792d12969be16') + version('1.0.1', 'd709787db7e080447afb6571ac17723c') + version('1.0', '2eec6979a4a36d3a65a792d12969be16') depends_on("boost") depends_on("mpi") diff --git a/var/spack/packages/ravel/package.py b/var/spack/packages/ravel/package.py new file mode 100644 index 0000000000..16a4fd0af9 --- /dev/null +++ b/var/spack/packages/ravel/package.py @@ -0,0 +1,23 @@ +from spack import * + +class Ravel(Package): + """Ravel is a parallel communication trace visualization tool that + orders events according to logical time.""" + + homepage = "https://github.com/scalability-llnl/ravel" + + + version('1.0', git="ssh://git@cz-stash.llnl.gov:7999/pave/ravel.git", + branch='features/otf2export') + + depends_on('cmake@2.8.9:') + + depends_on('muster@1.0.1:') + depends_on('otf') + depends_on('otf2') + depends_on('qt@5:') + + def install(self, spec, prefix): + cmake(*std_cmake_args) + make() + make("install") -- cgit v1.2.3-70-g09d2 From b24aca6da2513aff7e07ce97715a36eb8e9eff2c Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Thu, 12 Feb 2015 08:57:22 -0800 Subject: Add -Wno-dev to avoid cmake policy warnings. --- var/spack/packages/ravel/package.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'var') diff --git a/var/spack/packages/ravel/package.py b/var/spack/packages/ravel/package.py index 16a4fd0af9..5b92451ddb 100644 --- a/var/spack/packages/ravel/package.py +++ b/var/spack/packages/ravel/package.py @@ -6,9 +6,8 @@ class Ravel(Package): homepage = "https://github.com/scalability-llnl/ravel" - - version('1.0', git="ssh://git@cz-stash.llnl.gov:7999/pave/ravel.git", - branch='features/otf2export') + version('1.0.0', git="https://github.com/scalability-llnl/ravel.git", + branch='master') depends_on('cmake@2.8.9:') @@ -18,6 +17,6 @@ class Ravel(Package): depends_on('qt@5:') def install(self, spec, prefix): - cmake(*std_cmake_args) + cmake('-Wno-dev', *std_cmake_args) make() make("install") -- cgit v1.2.3-70-g09d2 From 81d518438c1de3fe4cb5ba4bed825e29cee30aee Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Thu, 12 Feb 2015 09:18:54 -0800 Subject: Point ravel download at the github release page. --- var/spack/packages/ravel/package.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'var') diff --git a/var/spack/packages/ravel/package.py b/var/spack/packages/ravel/package.py index 5b92451ddb..01fa941cfe 100644 --- a/var/spack/packages/ravel/package.py +++ b/var/spack/packages/ravel/package.py @@ -5,10 +5,11 @@ class Ravel(Package): orders events according to logical time.""" homepage = "https://github.com/scalability-llnl/ravel" + url = 'https://github.com/scalability-llnl/ravel/archive/v1.0.0.tar.gz' - version('1.0.0', git="https://github.com/scalability-llnl/ravel.git", - branch='master') + version('1.0.0', 'b25fece58331c2adfcce76c5036485c2') + # TODO: make this a build dependency depends_on('cmake@2.8.9:') depends_on('muster@1.0.1:') -- cgit v1.2.3-70-g09d2 From 32e2f21e8dc255caa2a756fc61d5994e62d68fe2 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Thu, 12 Mar 2015 08:49:45 -0700 Subject: Working scotch package. --- var/spack/packages/scotch/package.py | 39 ++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 var/spack/packages/scotch/package.py (limited to 'var') diff --git a/var/spack/packages/scotch/package.py b/var/spack/packages/scotch/package.py new file mode 100644 index 0000000000..502d79f076 --- /dev/null +++ b/var/spack/packages/scotch/package.py @@ -0,0 +1,39 @@ +from spack import * +import glob +import os + +class Scotch(Package): + """Scotch is a software package for graph and mesh/hypergraph + partitioning, graph clustering, and sparse matrix ordering.""" + homepage = "http://www.labri.fr/perso/pelegrin/scotch/" + url = "http://gforge.inria.fr/frs/download.php/file/34099/scotch_6.0.3.tar.gz" + list_url = "http://gforge.inria.fr/frs/?group_id=248" + + version('6.0.3', '10b0cc0f184de2de99859eafaca83cfc') + depends_on('mpi') + + + def patch(self): + with working_dir('src/Make.inc'): + makefiles = glob.glob('Makefile.inc.x86-64_pc_linux2*') + filter_file(r'^CCS\s*=.*$', 'CCS = cc', *makefiles) + filter_file(r'^CCD\s*=.*$', 'CCD = cc', *makefiles) + + + def install(self, spec, prefix): + # Currently support gcc and icc on x86_64 (maybe others with + # vanilla makefile) + makefile = 'Make.inc/Makefile.inc.x86-64_pc_linux2' + if spec.satisfies('%icc'): + makefile += '.icc' + + with working_dir('src'): + force_symlink(makefile, 'Makefile.inc') + for app in ('scotch', 'ptscotch'): + make(app) + + install_tree('bin', prefix.bin) + install_tree('lib', prefix.lib) + install_tree('include', prefix.include) + install_tree('man/man1', prefix.share_man1) + -- cgit v1.2.3-70-g09d2 From b80e091f46ca7559b4b81922d9af33fb8fe1d4d5 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Fri, 13 Mar 2015 00:03:33 -0700 Subject: metis package. --- var/spack/packages/metis/package.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 var/spack/packages/metis/package.py (limited to 'var') diff --git a/var/spack/packages/metis/package.py b/var/spack/packages/metis/package.py new file mode 100644 index 0000000000..fa13d52127 --- /dev/null +++ b/var/spack/packages/metis/package.py @@ -0,0 +1,32 @@ +from spack import * + +class Metis(Package): + """METIS is a set of serial programs for partitioning graphs, + partitioning finite element meshes, and producing fill reducing + orderings for sparse matrices. The algorithms implemented in + METIS are based on the multilevel recursive-bisection, + multilevel k-way, and multi-constraint partitioning schemes + developed in our lab.""" + + 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" + + version('5.1.0', '5465e67079419a69e0116de24fce58fe') + + # FIXME: Add dependencies if this package requires them. + # 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): + with working_dir('spack-build', create=True): + cmake('..', + '-DGKLIB_PATH=../GKlib', + '-DBUILD_SHARED_LIBS=TRUE', + *std_cmake_args) + make() + make("install") + -- cgit v1.2.3-70-g09d2 From 32244ac733f6276e50511e42620b49be90f72f0b Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Fri, 13 Mar 2015 13:32:24 -0700 Subject: MPICH provides environment vars to make MPI compilers behave like spack. --- var/spack/packages/mpich/package.py | 9 +++++++++ var/spack/packages/scotch/package.py | 1 + 2 files changed, 10 insertions(+) (limited to 'var') diff --git a/var/spack/packages/mpich/package.py b/var/spack/packages/mpich/package.py index 57378626ab..6aa8f2eca4 100644 --- a/var/spack/packages/mpich/package.py +++ b/var/spack/packages/mpich/package.py @@ -38,6 +38,15 @@ class Mpich(Package): provides('mpi@:3', when='@3:') provides('mpi@:1', when='@1:') + + def setup_dependent_environment(self, module, spec, dep_spec): + """For dependencies, make mpicc's use spack wrapper.""" + os.environ['MPICH_CC'] = 'cc' + os.environ['MPICH_CXX'] = 'c++' + os.environ['MPICH_F77'] = 'f77' + os.environ['MPICH_F90'] = 'f90' + + def install(self, spec, prefix): config_args = ["--prefix=" + prefix, "--enable-shared"] diff --git a/var/spack/packages/scotch/package.py b/var/spack/packages/scotch/package.py index 502d79f076..79289ff2ad 100644 --- a/var/spack/packages/scotch/package.py +++ b/var/spack/packages/scotch/package.py @@ -10,6 +10,7 @@ class Scotch(Package): list_url = "http://gforge.inria.fr/frs/?group_id=248" version('6.0.3', '10b0cc0f184de2de99859eafaca83cfc') + depends_on('mpi') -- cgit v1.2.3-70-g09d2