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-2.0.1.tar.gz file
and
change directory into the openspeedshop-release-2.0.1
directory.
For example:
gunzip openspeedshop-release-2.0.1.tar.gz
tar -xvf openspeedshop-release-2.0.1.tar
cd openspeedshop-release-2.0.1
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.4.1
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:
binutilsver=2.20.51_a
qtver=3.3.8b
libelfver=0.8.5_a
libdwarfver=20110113_a
libunwindver=1.0.1_a
papiver=4.2.0_a
sqlitever=3.7.4_a
monitorver=20110520_a
vampirtracever=5.3.2_a
dyninstver=7.0.1_a
mrnetver=20110714_a
openspeedshopver=2.0.1_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 its (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. 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 are
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 Open|SpeedShop
instrumentor: mrnet
You have manually specified a
Open|SpeedShop instrumentor using
the environment variable
OPENSS_INSTRUMENTOR to override the
default Open|SpeedShop instrumentor:
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.
OPENSS_PPC64_BITMODE_64 set to indicate you want a 64
bit version of ppc64 OSS built. Set to 1 or leave
unset to indicate 32 bit build.
-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_MPICH_DRIVER mpich driver name [ch-p4].
default is null.
OPENSS_MPI_MPICH2
set to MPI MPICH2 installation dir. default is null.
OPENSS_MPI_MPICH2_DRIVER set to mpich2 driver name
[cray]. 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-201b14
Current Values for OPENSS Environment
Variables:
-General
Using
OPENSS_PREFIX=/opt/oss-201b14
Using
OPENSS_INSTRUMENTOR=mrnet
-Open|SpeedShop MPI and Vampirtrace
Using
OPENSS_MPI_OPENMPI=/usr/lib64/openmpi
Using
OPENSS_MPI_MPICH2=/usr/lib64/mpich2
Using
OPENSS_MPI_MVAPICH=/opt/mvapich-1.1
Choices:
1 - Build binutils (optional),
Check/Build libelf libraries
1a - Install binutils (optional),
libelf, if built (non-root/cpio)
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.
sudo
apt-get install automake autoconf binutils libtool
sudo apt-get install flex
bison
sudo apt-get install rpm
sudo apt-get install
libxml2 libxml2-dev
sudo apt-get install
qt3-apps-dev
sudo apt-get install
python-dev
sudo apt-get install
binutils-dev
sudo apt-get install
libelf1 elfutils
libelf-dev
sudo apt-get install g++
sudo apt-get install make
patch