CUBE (Cube Uniform Behavioral Encoding) is a presentation component suitable for displaying a wide variety of performance data for parallel programs including MPI and OpenMP applications. CUBE allows interactive exploration of the performance data in a scalable fashion. Scalability is achieved in two ways: hierarchical decomposition of individual dimensions and aggregation across different dimensions. All metrics are uniformly accommodated in the same display and thus provide the ability to easily compare the effects of different kinds of program behavior.
The CUBE package currently consists of five components:
The remainder of this document describes the generic installation procedure for the different CUBE components (i.e., the C and C++ libraries, the command-line tools, as well as the graphical user interfaces).
CUBE is available as a source-code distribution for UNIX or UNIX-like platforms. It can be downloaded from http://www.scalasca.org. Besides the standalone distribution, CUBE is also distributed as part of the Scalasca performance analysis toolset available via the same web page.
The CUBE software is free, but by downloading, installing and using it you agree to comply with the license agreement. Please read the file LICENSE
in the distribution's top-level directory for precise wording.
Depending on the components of CUBE that are to be built, various tools and packages are required to be available on the build system. Common requirements---needed to build any of the components---are:
zlib (CUBE can be build without zlib support if zlib is not available)
http://www.zlib.net/
Both are typically already installed on most systems. For zlib, you also need the development headers to be installed (might be provided by a separate package, e.g., on Linux systems).
For the graphical user interface an additional library/framework is required:
This section describes the general procedure to build and install the CUBE software. Before proceeding with the instructions given below, please make sure to also read the Qt installation notes in Appendix'Notes on Compiling and Installing Qt'as well as the platform- and compiler-specific notes in Appendix'Compiler- and Platform-specific Notes'.
To configure and install the CUBE package, the following steps are usually required:
gunzip -c cube-4.x.x.tar.gz | tar xvf -
cd cube-4.x.x
VPATH
directory, where do you build the CUBE, and change into it mkdir -p vpath; cd vpath
Run the configure
script
../configure
The configure script tries to determine whether the requirements for building CUBE are fulfilled and sets up the build configuration. The configure script provides a set of various options. The full list is displayed when invoking:
../configure --help=recursive
A list of main options:
--prefix=
dir /opt/cube
) --with-nocross-compiler-suite=
(gcc|ibm|intel|pathscale|pgi|studio|open64|clang) $PATH
[gcc]. --with-frontend-compiler-suite=
(gcc|ibm|intel|pathscale|pgi|studio|open64|clang) --with-cubelib
| --without-cubelib
--with-tools
| --without-tools
--with-gui
| --without-gui
--with-cwriter
| --without-cwriter
--with-java-reader
| --without-java-reader
--with-xerces-path=
path /usr/share/java
) --with-xerces-name=
Name.jar xerces.jar
) --with-frontend-zlib=
"path to frontend zlib" --with-backend-zlib=
"path to backend zlib" --with-compression=full|ro|none
--with-qt=
path path
in first place. If this option is omitted the configure script searches for a Qt installation using the following sequence: $QT_DIR
$PATH
/usr/local/Trolltech/
/opt/local/libexec/qt4-mac/
(to support Mac) /opt/lib/qt4
/usr/lib/qt/bin
/usr/lib32/qt4
/usr/lib32/qt
/usr/lib64/qt4
/usr/lib64/qt
/opt/qt
/opt/qt4
/usr/local/qt4
/usr/local/qt
--with-qt-specs=
spec --with-vampir
| --without-vampir
Enables (default) or disables support of TraceBrowser connection with Vampir.
The support of TraceBrowser is only possible if DBUS headers and DBUS library are available. The configure script tries to find them automatically. If it fails, you have to specify the exact place of two headers: dbus/dbus.h
and dbus/dbus-arch-deps.h
. You can do it like
../configure --prefix=/opt/software/cube \ CPPFLAGS='-I/usr/include/dbus-1.0 \ -I/usr/lib64/dbus-1.0/include'"
--with-paraver
| --without-paraver
Enables support of TraceBrowser connection with Paraver.
See the note above.
--with-paraver-cfg=FILE
--disable-shared
The configure
script assumes that the GNU C/C++ compilers should be used to compile CUBE. You can select a different compiler using one of the options above e.g.
../configure - -with-nocross-compiler-suite=intel
If you want to use alternative compilers or compiler optimization options, which are not listed in the description of the options, you can do so by specifying appropriate variables in the command line when invoking configure
, e.g.,
../configure --prefix=/opt/software/cube CC=xlc CFLAGS="-g -O2"
For a list of the recognized variables, please inspect the output of the command ./configure - -help=recursive
make
make -j N
make check
scalasca@fz-juelich.de
and attach the file configure.log
make install
CUBE provides the option of displaying an online description for entries in the metric tree via a context menu. By default, it will search for the given HTML description file on all the mirror URLs specified in the CUBE file. In case there is no Internet connection, the Qt-based CUBE GUI can be configured to also search in a list of local directories for documentation files. These additional search paths can be specified via the environment variable CUBE_DOCPATH
as a colon-separated list of local directories, e.g.,
CUBE_DOCPATH=/opt/software/doc:/usr/local/share/doc
Note that this feature is only available in the Qt-based GUI and not in the older wxWidgets-based one.
To prevent CUBE from trying to load the HTML documentation via HTTP or HTTPS mirror URLs (e.g., in restricted environments were outbound connections are blocked by a firewall and the timeout is taking very long), the environment variable CUBE_DISABLE_HTTP_DOCS
can be set to either 1
, yes
or true
.
If you have any questions or comments you would like to share with the CUBE developers, please send an e-mail to scalasca@fz-juelich.de
.