summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAxel Huebl <axel.huebl@plasma.ninja>2016-08-30 11:44:23 +0200
committerAxel Huebl <axel.huebl@plasma.ninja>2016-08-30 12:42:39 +0200
commit3aaa077c9f530a020eb457c8981c88d422d5c205 (patch)
tree6d37e391ebb1da7f66f7c251df13dc1362d95fa0 /var
parentdae00fec299a5c147094d6873a263506cffeb12e (diff)
downloadspack-3aaa077c9f530a020eb457c8981c88d422d5c205.tar.gz
spack-3aaa077c9f530a020eb457c8981c88d422d5c205.tar.bz2
spack-3aaa077c9f530a020eb457c8981c88d422d5c205.tar.xz
spack-3aaa077c9f530a020eb457c8981c88d422d5c205.zip
libSplash: Add Spack Package
Adds a package for [libSplash](https://github.com/ComputationalRadiationPhysics/libSplash), a high-level library around serial and parallel HDF5 for regular grids and particle data sets. ``` libSplash aims at developing a HDF5-based I/O library for HPC simulations. It is created as an easy-to-use frontend for the standard HDF5 library with support for MPI processes in a cluster environment. While the standard HDF5 library provides detailed low-level control, libSplash simplifies tasks commonly found in large-scale HPC simulations, such as iter- ative computations and MPI distributed processes. ``` libSplash is a dependency for [PIConGPU](http://picongpu.hzdr.de), an open-source, many-core, fully-relativistic particle-in-cell code and further software developed at [Helmholz-Zentrum Dresden - Rossendorf](https://www.hzdr.de). libSplash builds in two versions, one without MPI writing domain-decomposed posix-style HDF5 files per process and one (default) with MPI and MPI-I/O ("parallel HDF5") support aggregating into a single file per MPI communicator. libSplash is used in conjunction with [openPMD](http://openPMD.org), see also [github.com/openPMD/](https://github.com/openPMD/).
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/libsplash/package.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/libsplash/package.py b/var/spack/repos/builtin/packages/libsplash/package.py
new file mode 100644
index 0000000000..dd47ea0993
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libsplash/package.py
@@ -0,0 +1,59 @@
+##############################################################################
+# 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 Libsplash(Package):
+ """
+ libSplash aims at developing a HDF5-based I/O library for HPC simulations.
+ It is created as an easy-to-use frontend for the standard HDF5 library
+ with support for MPI processes in a cluster environment. While the
+ standard HDF5 library provides detailed low-level control, libSplash
+ simplifies tasks commonly found in large-scale HPC simulations, such as
+ iterative computations and MPI distributed processes.
+ """
+
+ homepage = "https://github.com/ComputationalRadiationPhysics/libSplash"
+ url = "https://github.com/ComputationalRadiationPhysics/libSplash/archive/v1.4.0.tar.gz"
+
+ version('1.4.0', '2de37bcef6fafa1960391bf44b1b50e0')
+ version('1.3.1', '524580ba088d97253d03b4611772f37c')
+ version('1.2.4', '3fccb314293d22966beb7afd83b746d0')
+
+ variant('mpi', default=True,
+ description='Enable parallel I/O (one-file aggregation) support')
+
+ depends_on('cmake', type='build')
+ depends_on('hdf5@1.8.6:', when='~mpi')
+ depends_on('hdf5@1.8.6:+mpi', when='+mpi')
+ depends_on('mpi', when='+mpi')
+
+ def install(self, spec, prefix):
+ with working_dir('spack-build', create=True):
+ cmake('-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '..', *std_cmake_args)
+
+ make()
+ make('install')