The release top level
directory contains the install script (install.sh) that is intended to
make the build and installation of the components that
are needed to support Open|SpeedShop and Open|SpeedShop itself easier.
Because Open|SpeedShop depends on components that are highly dependent
on Operating System interfaces and libraries, it is difficult to
produce executable rpms
for installation. This is why we offer a source build
installation.
Prerequistite Needs
There are some prerequisite packages that are necessary for building
and running the Open|SpeedShop performance tool. Most will be present
on a system that is used for debugging and performance analysis.
The README file in the release top level directory lists the components
and the versions that have been used successfully with Open|SpeedShop.
Installation
Information
Please gunzip and untar the openspeedshop-release-1.9.3.3.tar.gz file
and
change directory into the openspeedshop-release-1.9.3.3
directory.
For example:
gunzip openspeedshop-release-1.9.3.3.tar.gz
tar -xvf openspeedshop-release-1.9.3.3.tar
cd openspeedshop-release-1.9.3.3
Inside the top level release directory is the key script, install.sh,
that can be used in building the Open|SpeedShop performance tool.
The script,
install.sh, can
either step you through building the support libraries and
Open|SpeedShop or you can
choose an
option (9) that will do all the steps without user intervention.
This process builds RPMs for each package and allows you the option of
installing via RPM or to install as non-root through a rpm to cpio
process that is built into the script. The default installation
path is /opt/OSS
If you would like to install in another location, set the environment
variable OPENSS_PREFIX. We recommend setting the variable.
You can base your LD_LIBRARY_PATH and PATH variables off the
OPENSS_PREFIX variable when you have Open|SpeedShop built and you are
ready to run it.
For example:
export OPENSS_PREFIX=/usr/projects/OSS
Another variable that is advisable to set is QTDIR for the location to
the QT library if different from the default. The default is
/usr/lib64/qt-3.3
Additional (optional) environment variables needed for building
vampirtrace and configuring for MPI experiments. vampirtrace needs a
MPI implementation specified in order to be built. So, the intent
is to be able to run vampirtrace trace under Open|SpeedShop, then one
of the following MPI implementations must be specified.
OPENSS_MPI_LAM set to MPI LAM installation directory
OPENSS_MPI_LAMPI set to MPI LAMPI installation
directory
OPENSS_MPI_OPENMPI set to MPI OPENMPI installation
directory
OPENSS_MPI_MPICH set to MPI MPICH installation
directory
OPENSS_MPI_MPICH2 set to MPI MPICH2 installation
directory
OPENSS_MPI_MPICH_DRIVER mpich/mpich2 driver name [ch-p4]
OPENSS_MPI_MPT set to SGI MPI MPT installation
directory
OPENSS_MPI_MVAPICH set to MPI MVAPICH installation
directory
OPENSS_MPI_MVAPICH2 set to MPI MVAPICH2 installation
directory
If the above variables are not set most Open|SpeedShop experiments will
work, but the mpi, mpit, mpiotf experiments will not be built.
These variables are not necessary to run pcsamp, usertime, hwc, io, or
fpe experiments.
The install script and the Open|SpeedShop configuration code will read
these environment variables and if set will configure Open|SpeedShop to
recognize these MPI implementations. That will allow users the
ability to create MPI experiments (mpi, mpit, mpiotf) and gather
performance data for MPI applications built with the specific MPI
implementation (for example: openmpi).
For example:
export OPENSS_MPI_OPENMPI=/usr/projects/openmpi-1.2.4
The Open|SpeedShop configure will read the OPENSS_MPI_xxxxx variables
and configure for each MPI implementation specfied in this manner.
The spec files associated with this build process include:
qtver=3.3.8b
libelfver=0.8.5_a
libdwarfver=20091230_a
libunwindver=020100123_a
papiver=3.7.0_a
sqlitever=3.6.22_a
monitorver=20091010_a
vampirtracever=5.3.2_a
dyninstver=6.1r_a
mrnetver=2.2_a
openspeedshopver=1.9.3.3_a
There is an order that is required in building the components because
some of the components depend oneach other. The install script
will lead you through the process.
There is an expectation that you have libelf available. Option 1 will
check and build if necessary and option 1a will install if you
are doing the non-root cpio process.
To start, type:
./install.sh
These are the options that are provided.
For the most automated way to build the entire tool would be to
choose option: 9. With this
option all the components and openspeedshop will be built and installed
into the location/path specified in your OPENSS_PREFIX environment
variable.
If you have trouble using option 9, you can build the components and
openspeedshop in a step by step manner to find any issues. After
each step you will need to run ./install.sh again to get to the
next step. You may also type install.sh and choose option 8 to see
which component is not installed. You may only have to rebuild
from that component onward.
Because Open|SpeedShop currently uses MRNet as it's (online version
only) communication
mechanism, a MRNet daemon must run on your machine and, if you have a
cluster, a MRNet daemon must run on each node of your cluster. We
have a default file named "mrnet.py" that we will install during the
installation of openspeedshop-1.9.3.3. The mrnet.py file will
create a MRNet topology file (needed by MRNet to communicate with the
daemons)
without intervention on your single system image machine, like a pc or
laptop (or a SGI single system image (SSI) machine). If you going to
run Open|SpeedShop on a cluster, some tweaking of the mrnet.py file may
be necessary. It is reliable on systems using the SLURM and
PBS job schedulers.
Note: the offline version of openss does not need to create daemons and
therefore also doesn't need to create a topology file.
Please contact us at: oss-questions@openspeedshop.org if you need
assistance.
This is what will be displayed when you type install.sh:
---------------------------------------
./install.sh
machine: localhost.localdomain
---------------------------------------------------------------------------
This script builds RPMs and supports installation as
non-root through cpio
The default install prefix is /opt/OSS. If another
is preferred, please set
the OPENSS_PREFIX environment variable to reflect
the new target directory
If you plan on installing RPMs as root, it will let
you know at what point
---------------------------------------------------------------------------
You are building for default Open|SpeedShop
instrumentor: offline.
If you wish to change the Open|SpeedShop
instrumentor, use
the OPENSS_INSTRUMENTOR to specify: mrnet, or
offline.
Checking for prerequisite components needed to build
Open|SpeedShop and/or
the Open|SpeedShop required component packages. If
all the prerequisite
packages are present the script will continue, if
not all the prerequisites
are found, the script exits because the build will
fail without the
prerequisite components installed.
We are checking for these components:
a) GNU patch
b) libelf and/or libelf-devel
c) libxml2 and/or
libxml2-devel
NOTE:
libxml2 and/or libxml2-devel are not needed
if using OPENSS_INSTRUMENTOR=offline, however,
the online (mrnet) version does need libxml2 and libxml2-devel
d) binutils and/or
binutils-devel
e) qt and/or qt-devel
f) python and/or python-devel
g) bison or flex
h) libtool
i) The environment variable
QTDIR is set
j) rpm
k) libltdl and libltdl-devel
NOTE: autoconf was detected in /usr/bin
NOTE: automake was detected in /usr/bin
NOTE: GNU patch was detected in /usr/bin
NOTE: libelf and libelf-devel detected in
/usr/<lib>...
NOTE: libxml2 and libxml2-devel detected in
/usr/<lib>...
NOTE: binutils and binutils-devel detected in
/usr/bin and /usr/<lib>...
NOTE: qt and qt-devel detected in
/usr/<lib>/qt...
NOTE: python and python-devel detected in /usr/bin
and /usr/<lib>...
NOTE: flex and/or bison was detected in /usr/bin
NOTE: libtool was detected in /usr/bin
NOTE: QTDIR is set.
NOTE: rpm was detected in /usr/bin or /bin
NOTE: libltdl and libltdl-devel were detected in
/usr/lib64
OPENSS Environment Variables:
-General
OPENSS_PREFIX
set to alternate install prefix. default is /opt/OSS
OPENSS_INSTRUMENTOR set to the underlying
instrumentation type openss will use. default is offline (does
not include online/mrnet)
OPENSS_TARGET_ARCH set to the target
architecture to build the Open|SpeedShop runtime environment for.
-Open|SpeedShop MPI and
Vampirtrace
OPENSS_MPI_LAM
set to MPI LAM installation dir. default is null.
OPENSS_MPI_LAMPI set to MPI
LAMPI installation dir. default is null.
OPENSS_MPI_OPENMPI set to MPI OPENMPI
installation dir. default is null.
OPENSS_MPI_MPICH set to MPI
MPICH installation dir. default is null.
OPENSS_MPI_MPICH2 set to MPI MPICH2
installation dir. default is null.
OPENSS_MPI_MPICH_DRIVER mpich/mpich2 driver name [ch-p4]. default is
null.
OPENSS_MPI_MPT
set to SGI MPI MPT installation dir. default is null.
OPENSS_MPI_MVAPICH set to MPI MVAPICH
installation dir. default is null.
OPENSS_MPI_MVAPICH2 set to MPI MVAPICH2
installation dir. default is null.
OPENSS_OFED
set to OPEN FABRICS installation dir. default is /usr.
OPENSS_BINUTILS set to
alternative directory location for binutils components. default is /usr
OPENSS_PYTHON
set to alternative directory location for python components. default is
/usr
OPENSS_LIBXML2
set to alternative directory location for libxml2 components. default
is /usr
OPENSS_IMPLICIT_TLS When set, this enables
Open|SpeedShop to use implicitly created tls storage. default is
explicit.
Checking to see if OPENSS_PREFIX is set. This
is the installation path for all
the OpenSpeedShop supporting components and also the
OpenSpeedShop components.
Using
OPENSS_PREFIX=/opt/OSS-mrnet
Current Values for OPENSS Environment Variables:
-General
Using
OPENSS_PREFIX=/opt/OSS-mrnet
Using
OPENSS_INSTRUMENTOR=offline
-Open|SpeedShop MPI and
Vampirtrace
Choices:
0 - Set ~/.rpmmacros %_topdir to:
/home/jeg/release-1.9.3.3/OpenSpeedShop_ROOT
original will be
copied to .rpmmacros.##
0a - View environment variables that may be set
1 - Check if libelf is installed, build if
necessary
1a - Install libelf if built (non-root/cpio)
- Otherwise install
RPM manually at this point
2 - Build base Support libraries: libdwarf
2a - Install libdwarf if built (non-root/cpio)
- Otherwise install
RPM manually at this point
3 - Build base Support libraries: libunwind,
papi, sqlite, monitor
3a - Install base Support libraries (non-root/cpio):
libunwind, papi,
sqlite, monitor
- Otherwise install
RPMs manually at this point
4 - Build base Support libraries: vampirtrace,
dyninst
4a - Install base Support library (non-root/cpio):
vampirtrace, dyninst
- Otherwise install
RPMs manually at this point
5 - Build base Support libraries: mrnet
5a - Install base Support library: mrnet
- Otherwise install
RPMs manually at this point
6 - Check if base GUI support library is
installed, build if necessary: qt3/qt3.3
6a - Install base GUI support library if built
(non-root/cpio): qt3/qt-3.3
- Otherwise install
RPMs manually at this point
7 - Build Open|SpeedShop
7a - Install Open|SpeedShop
- Otherwise install
RPMs manually at this point
8 - Install status
9 - Automatic - Run all steps with no
questions asked. Assume that the
answer to any question which will be asked is yes. Please
make certain that all required environment variables are
set properly. It may be best for fresh installations
to run though the choices one at a time, in ascending
order, as this may help discover any missing system
dependencies. Everything will be installed in
/opt/OSS (if OPENSS_PREFIX is not set) via cpio process
Please feel free to contact us via this email alias:
oss-questions@openspeedshop.org
Enter Option:
To Run Open|SpeedShop
Please refer to the
QuickStart Guide
for a short introduction or access the
Users Guide.
These are the best sources for information on how to run Open|SpeedShop.