Table of Contents
The primary tools you'll be using are the Ccaffeine CCA framework and the Babel language interoperability tool. This section provides brief instructions on how to download and install a distribution of these tools (named, creatively enough, “cca-tools”) that has been tested for compatibility with the tutorial code. In Chapter 6, Using TAU to Monitor the Performance of Components you will be using the TAU performance observation tools in conjunction with the CCA, and if you plan to do that exercise, it will be necessary to install TAU on your system as well.
![]() |
Caution |
|---|---|
|
These tools are still under development as we extend their capabilities. Consequently, it is possible to find numerous releases and snapshots of the individual tools, any given combination of which may not have been tested for compatibility. Don't use the individual tool distributions unless you've got a particular reason, usually based on direct conversations with their developers. The latest version of the “cca-tools” package is the recommended distribution for routine use and will provide you with a matched set of tools that will work together properly. |
|
![]() |
Note |
|---|---|
|
We strongly recommend using a Linux platform to work through these exercises, since this is currently the most extensively tested and most easily supported platform for the CCA tools. If this is not possible, or you have a specific need to use another platform while working through these exercises, please contact us at <tutorial-wg@cca-forum.org> to discuss the best way to proceed. We're also interested to hear what platforms you would like to run your CCA applications on in the longer term in order to help us focus our porting and testing efforts. |
|
The requirements to build the CCA tools on Linux platforms are listed below. Requirements for other platforms will vary somewhat.
gcc >= 3.2
Java Software Development Kit >= 1.4. The java and javac commands must be in your execution path.
Gnome XML C Parser (libxml2) -- most recent Linux distro's already have it, regardless of whether Gnome is installed.
GNU autobuild tools: anything recent.
A connection to the internet. (A network connection is required both to download the code cca-tools package and during the build process.)
Additional Optional Software. There are also a number of other packages which are not required in order to build the CCA tools, but can be used if present (and may be required in order to obtain certain functionality). If you want to use them, they should be installed before you begin to install the CCA tools.
MPI: recent versions of MPICH are known to work. At present, the automatic configuration tools do not handle other MPI implementations, and Ccaffeine has not yet been extensively tested against other implementations.
![]() |
Note |
|---|---|
|
At present, there are no exercises that require MPI. |
|
Python >= 2.2. If you have multiple versions of Python installed and prefer to have a version in your execution path that does not meet the criteria above, you should set the PYTHON environment variable to point to a suitable version for the CCA tools prior to configuring them. You can check the python version with python -V.
Fortran 90: A variety of Fortran 90 compilers are supported. Because Babel needs to know about the format of the array descriptors used internally by the compiler, the CCA tools will have to be configured with both the path to the compiler and information about which compiler it is. Here is the list of currently supported compilers and the associated labels recognized by the CCA tools configuration script.
| Compiler | CCA Tools “VENDOR” Label |
|---|---|
| Absoft | Absoft |
| HP Compaq Fortran | Alpha |
| Cray Fortran | Cray |
| IBM XL Fortran | IBMXL |
| Intel v8 | Intel |
| Intel v7 | Intel7 |
| Lahey | Lahey |
| NAG | NAG |
| SGI MIPS Pro | MIPSpro |
| SUN Solaris | SUNWspro |
You should have the compiler in your execution path, and any relevant .so libraries in your LD_LIBRARY_PATH. These are required to properly configure the CCA tools package.
The latest version of the CCA Tools package can be found at http://www.cca-forum.org/tutorials/#sources with a filename of the form cca-tools-version.tar.gz.
Untar the cca-tools tar ball some place that is convenient to build. Look at the README for up to the minute information.
Next, you need to run ./configure options on the package. There are numerous configuration options available (type ./configure --help for a complete list). Most languages and tools will be detected automatically as long as they are installed in “reasonable” locations (that is, the common locations the configure script is programmed to check). Some of the most commonly used options include:
--prefix=CCA_TOOLS_ROOT indicates where the built tools should be installed. (Default: ./local, in the build directory.)
--with-F90-vendor=VENDOR (for the brand of compiler, from the table above, case sensitive) and --with-F90=/full/path/to/compiler are both required to configure a Fortran 90 compiler into the Babel build. (Default: Fortran 90 will not be used.)
For example, using the Intel version 8 compiler installed in the default location, the relevant command would be:
./configure --with-F90-vendor=Intel --with-F90=/opt/intel_fc_80/bin/ifort
If configure doesn't find your MPI installation on its own, or finds the wrong on, use the option --with-mpi=MPI_ROOT (such that MPI_ROOT/bin/mpirun should exist).
If an auto-detected MPI installation is causing problems for the build, or you simply don't want to build the tools with MPI support, use --with-mpi=no.
(Default: Auto-detected MPI will be used.)
As a fallback, --with-localsrc will do a build supporting only C, C++, Java, and if the configure script detects it, Python. This option is not meant to be combined with any other configure options.
You should read the output of the configuration process carefully to insure it found all of the tools you wanted it to, and also to be sure it found the particular installation you want to use if there are several for a given tool!
Finally, typing make should build and install the tools in the CCA_TOOLS_ROOT location you specified in the configuration step.
![]() |
Caution |
|---|---|
|
Remember that you need to have internet connectivity during the build process! The Makefile is designed to download the appropriate versions of additional software it needs, rather than making you do it separately. |
|
The CCA tools build procedure has been tested on a variety of systems with a range of different configuration options, and it works the majority of the time. However it is possible your platform or configuration requirements will confuse it, and it will not build properly for you. If this happens, please contact us at <tutorial-wg@cca-forum.org> with the output of your attempt to configure and build the package, and any pertinent information about your system. We want to help you get a working CCA environment and improve the packaging of the tools for future users.