summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuc Jaulmes <jaulmes1@llnl.gov>2014-06-24 11:06:09 -0700
committerTodd Gamblin <tgamblin@llnl.gov>2014-07-31 13:57:45 -0700
commit853784d3829166f0d5b797dffcc2a8b63723e350 (patch)
tree53ba5a4c9816f4f660e42ebe7bfadd1ce29fd0f7
parent5a4881c086111a07d93e0e7d5d4f25ba09bb56cc (diff)
downloadspack-853784d3829166f0d5b797dffcc2a8b63723e350.tar.gz
spack-853784d3829166f0d5b797dffcc2a8b63723e350.tar.bz2
spack-853784d3829166f0d5b797dffcc2a8b63723e350.tar.xz
spack-853784d3829166f0d5b797dffcc2a8b63723e350.zip
Added Paraver and dependencies, restricted Extrae to OpenMPI 1.6
-rw-r--r--var/spack/packages/extrae/package.py8
-rw-r--r--var/spack/packages/ompss/package.py1
-rw-r--r--var/spack/packages/paraver/package.py40
-rw-r--r--var/spack/packages/wx/package.py17
-rw-r--r--var/spack/packages/wxpropgrid/package.py17
5 files changed, 80 insertions, 3 deletions
diff --git a/var/spack/packages/extrae/package.py b/var/spack/packages/extrae/package.py
index a06f02d3df..a4dae485b5 100644
--- a/var/spack/packages/extrae/package.py
+++ b/var/spack/packages/extrae/package.py
@@ -1,11 +1,13 @@
from spack import *
class Extrae(Package):
+ """Extrae is the package devoted to generate tracefiles which can be analyzed later by Paraver. Extrae is a tool that uses different interposition mechanisms to inject probes into the target application so as to gather information regarding the application performance. The Extrae instrumentation package can instrument the MPI programin model, and the following parallel programming models either alone or in conjunction with MPI : OpenMP, CUDA, OpenCL, pthread, OmpSs"""
homepage = "http://www.bsc.es/computer-sciences/extrae"
url = "http://www.bsc.es/ssl/apps/performanceTools/files/extrae-2.5.1.tar.bz2"
versions = { '2.5.1' : '422376b9c68243bd36a8a73fa62de106', }
- depends_on("mpi")
+ #depends_on("mpi")
+ depends_on("openmpi@:1.6")
depends_on("dyninst")
depends_on("libunwind")
depends_on("boost")
@@ -15,8 +17,8 @@ class Extrae(Package):
def install(self, spec, prefix):
if 'openmpi' in spec:
mpi = spec['openmpi']
- if spec.satisfies('@2.5.1') and spec.satisfies('^openmpi@1.6.5'):
- tty.error("Some headers conflict when using OpenMPI 1.6.5. Please use 1.6 instead.")
+ #if spec.satisfies('@2.5.1') and spec.satisfies('^openmpi@1.6.5'):
+ # tty.error("Some headers conflict when using OpenMPI 1.6.5. Please use 1.6 instead.")
elif 'mpich' in spec:
mpi = spec['mpich']
elif 'mvapich2' in spec:
diff --git a/var/spack/packages/ompss/package.py b/var/spack/packages/ompss/package.py
index 66a126579e..4878a589bf 100644
--- a/var/spack/packages/ompss/package.py
+++ b/var/spack/packages/ompss/package.py
@@ -7,6 +7,7 @@ import glob
#./mcxx-1.99.2/config.log: $ ./configure --prefix=/usr/gapps/exmatex/ompss --with-nanox=/usr/gapps/exmatex/ompss --enable-ompss --with-mpi=/opt/mvapich2-intel-shmem-1.7 --enable-tl-openmp-profile --enable-tl-openmp-intel
class Ompss(Package):
+ """OmpSs is an effort to integrate features from the StarSs programming model developed by BSC into a single programming model. In particular, our objective is to extend OpenMP with new directives to support asynchronous parallelism and heterogeneity (devices like GPUs). However, it can also be understood as new directives extending other accelerator based APIs like CUDA or OpenCL. Our OmpSs environment is built on top of our Mercurium compiler and Nanos++ runtime system."""
homepage = "http://pm.bsc.es/"
url = "http://pm.bsc.es/sites/default/files/ftp/ompss/releases/ompss-14.06.tar.gz"
versions = { '14.06' : '99be5dce74c0d7eea42636d26af47b4181ae2e11' }
diff --git a/var/spack/packages/paraver/package.py b/var/spack/packages/paraver/package.py
new file mode 100644
index 0000000000..d437adfa5d
--- /dev/null
+++ b/var/spack/packages/paraver/package.py
@@ -0,0 +1,40 @@
+from spack import *
+import os
+
+class Paraver(Package):
+ """"A very powerful performance visualization and analysis tool based on
+ traces that can be used to analyse any information that is expressed on its input trace format.
+ Traces for parallel MPI, OpenMP and other programs can be genereated with Extrae."""
+ homepage = "http://www.bsc.es/computer-sciences/performance-tools/paraver"
+ url = "http://www.bsc.es/ssl/apps/performanceTools/files/paraver-sources-4.5.2.tar.gz"
+
+ versions = { '4.5.2' : 'ea463dd494519395c99ebae294edee17', }
+
+ depends_on("boost")
+ #depends_on("extrae")
+ depends_on("wx")
+ depends_on("wxpropgrid")
+
+ def install(self, spec, prefix):
+ os.chdir("ptools_common_files")
+ configure("--prefix=%s" % prefix)
+ make()
+ make("install")
+
+ os.chdir("../paraver-kernel")
+ #"--with-extrae=%s" % spec['extrae'].prefix,
+ configure("--prefix=%s" % prefix, "--with-ptools-common-files=%s" % prefix, "--with-boost=%s" % spec['boost'].prefix, "--with-boost-serialization=boost_serialization")
+ make()
+ make("install")
+
+ os.chdir("../paraver-toolset")
+ configure("--prefix=%s" % prefix)
+ make()
+ make("install")
+
+ os.chdir("../wxparaver")
+ #"--with-extrae=%s" % spec['extrae'].prefix,
+ configure("--prefix=%s" % prefix, "--with-paraver=%s" % prefix, "--with-boost=%s" % spec['boost'].prefix, "--with-boost-serialization=boost_serialization", "--with-wxdir=%s" % spec['wx'].prefix.bin)
+ make()
+ make("install")
+
diff --git a/var/spack/packages/wx/package.py b/var/spack/packages/wx/package.py
new file mode 100644
index 0000000000..de12f141b8
--- /dev/null
+++ b/var/spack/packages/wx/package.py
@@ -0,0 +1,17 @@
+from spack import *
+
+class Wx(Package):
+ """wxWidgets is a C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. It has popular language bindings for Python, Perl, Ruby and many other languages, and unlike other cross-platform toolkits, wxWidgets gives applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature."""
+ homepage = "http://www.wxwidgets.org/"
+
+ url = "https://sourceforge.net/projects/wxwindows/files/2.8.12/wxWidgets-2.8.12.tar.gz"
+ versions = { '2.8.12' : '2fa39da14bc06ea86fe902579fedc5b1', }
+# url = "https://sourceforge.net/projects/wxwindows/files/3.0.1/wxWidgets-3.0.1.tar.bz2"
+# versions = { '3.0.1' : 'dad1f1cd9d4c370cbc22700dc492da31', }
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix, "--enable-unicode", "--disable-precomp-headers")
+
+ make(parallel=False)
+ make("install")
+
diff --git a/var/spack/packages/wxpropgrid/package.py b/var/spack/packages/wxpropgrid/package.py
new file mode 100644
index 0000000000..5cc244ca65
--- /dev/null
+++ b/var/spack/packages/wxpropgrid/package.py
@@ -0,0 +1,17 @@
+from spack import *
+
+class Wxpropgrid(Package):
+ """wxPropertyGrid is a property sheet control for wxWidgets. In other words, it is a specialized two-column grid for editing properties such as strings, numbers, flagsets, string arrays, and colours."""
+ homepage = "http://wxpropgrid.sourceforge.net/"
+ url = "http://prdownloads.sourceforge.net/wxpropgrid/wxpropgrid-1.4.15-src.tar.gz"
+
+ versions = { '1.4.15' : 'f44b5cd6fd60718bacfabbf7994f1e93', }
+
+ depends_on("wx")
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix, "--with-wxdir=%s" % spec['wx'].prefix.bin, "--enable-unicode")
+
+ make()
+ make("install")
+