The Scalasca performance toolset architecture
By M. Geimer, F. Wolf, B.J.N. Wylie, E. Ábrahám, D. Becker, B. Mohr.
Published in Concurrency and Computation: Practice and Experience, 22(6):702-719, April 2010.
Scalasca 2.x series
Required toolsThe following tools are required to build a minimal Scalasca v2 installation:
- ISO C++98 compiler
- ISO C99 compiler
- A "working" POSIX-compatible shell
- A POSIX-compatible make
Recommended libraries/packagesThe following packages are not strictly necessary for building Scalasca v2, but are strongly recommended to make effective use of Scalasca:
- Score-P v1.2 or newer (recommended: Score-P 2.0) Scalasca v2 is based on the community instrumentation and measurement infrastructure Score-P. To generate event traces for Scalasca to analyze, a working installation of Score-P is therefore required.
- Cube library v4.3 (recommended: Cube 4.3.3 or newer) The Scalasca v2 distribution package only includes the core writer part of the Cube library. Therefore, a separate full installation including reader/writer libraries, GUI, and command-line tools is recommended.
Optional librariesOptionally, Scalasca v2 can be configured to use the following support libraries:
- OTF2 library v2.0 Although the Scalasca v2 distribution tarball comes with a recent version of the OTF2 library included, it might be desired to use a separate installation instead (e.g., to "share" with the Score-P measurement system).
- zlib library v1.2.3 or newer The zlib library is only needed if backwards compatibility support for compressed trace files written in EPILOG format (generated by Scalasca v1) is desired. In cross-compiling environments, zlib has to be compiled for the compute nodes (i.e., backend).
- SIONlib library v1.5.5 or newer The SIONlib library is only needed if the included OTF2 library included shall be configured to support SIONlib container files for storing trace data.
- GNU liberty library The GNU liberty library is only required if getopt_long_only() is not part of the system's C library. It is distributed as part of, e.g., GNU gcc, GNU gdb, and GNU binutils. In cross-compiling environments, liberty has to be compiled for the frontend.