summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorJim Galarowicz <jeg@krellinst.org>2015-07-21 11:20:27 -0500
committerJim Galarowicz <jeg@krellinst.org>2015-07-21 11:20:27 -0500
commit23971bae92f387cbcbed8f4ea5d99ce81bf03ff0 (patch)
treeda94512edb37ae5fce24501072b5191fb2e34204 /var
parenteff5016653980f24c5c55dfb866dbe108f50dedf (diff)
downloadspack-23971bae92f387cbcbed8f4ea5d99ce81bf03ff0.tar.gz
spack-23971bae92f387cbcbed8f4ea5d99ce81bf03ff0.tar.bz2
spack-23971bae92f387cbcbed8f4ea5d99ce81bf03ff0.tar.xz
spack-23971bae92f387cbcbed8f4ea5d99ce81bf03ff0.zip
Add the cbtf-krell spack build package. cbtf-krell is the krell contribution to the CBTF project and includes services, messages, and core libraries and components that support performance information gathering, transfer, and reduction.
Diffstat (limited to 'var')
-rw-r--r--var/spack/packages/cbtf-krell/package.py114
1 files changed, 114 insertions, 0 deletions
diff --git a/var/spack/packages/cbtf-krell/package.py b/var/spack/packages/cbtf-krell/package.py
new file mode 100644
index 0000000000..0661b101a1
--- /dev/null
+++ b/var/spack/packages/cbtf-krell/package.py
@@ -0,0 +1,114 @@
+################################################################################
+# Copyright (c) 2015 Krell Institute. All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# 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 GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU 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 CbtfKrell(Package):
+ """CBTF Krell project contains the Krell Institute contributions to the CBTF project.
+ These contributions include many performance data collectors and support
+ libraries as well as some example tools that drive the data collection at
+ HPC levels of scale."""
+ homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
+
+ url = "http://sourceforge.net/projects/cbtf/files/cbtf-1.5/cbtf-krell-1.5.tar.gz/download"
+ version('1.5', '86cca5aa48a65206d3ac5502fcbd3ef6')
+
+ # optional mirror access template
+ #url = "file:/opt/spack-mirror-2015-02-27/cbtf-krell/cbtf-krell-1.5.tar.gz"
+ #version('1.5', 'b13f6df6a93c44149d977773dd776d2f')
+
+
+ # Dependencies for cbtf-krell
+
+ # For binutils service
+ depends_on("binutils@2.24+krellpatch")
+
+ # collectionTool
+ depends_on("boost@1.41:")
+ depends_on("dyninst@8.2.1:+krelloptions")
+ depends_on("mrnet@4.1.0:+krelloptions")
+ depends_on("xerces-c@3.1.1:")
+ depends_on("cbtf")
+
+ # for services and collectors
+ depends_on("libmonitor+krellpatch")
+ depends_on("libunwind")
+ depends_on("papi")
+
+ # MPI Installations
+ # These have not worked either for build or execution, commenting out for now
+ #depends_on("openmpi")
+ #depends_on("mvapich2@2.0")
+ #depends_on("mpich")
+
+ parallel = False
+
+ def install(self, spec, prefix):
+
+ # Add in paths for finding package config files that tell us where to find these packages
+ cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['dyninst'].prefix)
+
+ # FIXME - hard code path until external package support is available
+ # Need to change this path and/or add additional paths for MPI experiment support on different platforms
+ openmpi_prefix_path = "/opt/openmpi-1.8.2"
+ # Other possibilities, they will need a -DMVAPICH_DIR=, etc clause in the cmake command to be recognized
+ # mvapich_prefix_path = "<mvapich install path>"
+ # mvapich2_prefix_path = "<mvapich2 install path>"
+ # mpich2_prefix_path = "<mpich2 install path>"
+ # mpich_prefix_path = "<mpich install path>"
+ # mpt_prefix_path = "<mpt install path>"
+
+ # Add in paths for cuda if requested via the cuda variant
+ # FIXME - hard code path until external package support is available
+ if '+cuda' in spec:
+ cuda_prefix_path = "/usr/local/cuda-6.0"
+ cupti_prefix_path = "/usr/local/cuda-6.0/extras/CUPTI"
+ else:
+ cuda_prefix_path = ""
+ cupti_prefix_path = ""
+
+ #'-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix,
+ #'-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
+ #'-DMPICH_DIR=%s' % spec['mpich'].prefix,
+ #'-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
+ #'-DLIB_SUFFIX=64',
+
+ # Build cbtf-krell with cmake
+ with working_dir('build_cbtf_krell', create=True):
+ cmake('..',
+ '-DCMAKE_BUILD_TYPE=Debug',
+ '-DCMAKE_INSTALL_PREFIX=%s' % prefix,
+ '-DCBTF_DIR=%s' % spec['cbtf'].prefix,
+ '-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
+ '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
+ '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
+ '-DPAPI_DIR=%s' % spec['papi'].prefix,
+ '-DBOOST_DIR=%s' % spec['boost'].prefix,
+ '-DMRNET_DIR=%s' % spec['mrnet'].prefix,
+ '-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
+ '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
+ '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
+ '-DCUDA_DIR=%s' % cuda_prefix_path,
+ '-DCUPTI_DIR=%s' % cupti_prefix_path,
+ '-DOPENMPI_DIR=%s' % openmpi_prefix_path,
+ *std_cmake_args)
+
+ make("clean")
+ make()
+ make("install")
+