3.1. Installing POOMA

In this section, we describe how to obtain, build, and install the POOMA Toolkit. We focus on installing under a Unix-like operating system.

Obtain the POOMA source code pooma-2.3.0.tgz from the POOMA download page (http://pooma.codesourcery.com/pooma/download) available off the POOMA home page (http://www.codesourcery.com/pooma/pooma/). The "tgz" indicates this is a compressed tar archive file. To extract the source files, use tar xzvf pooma-2.3.0.tgz. Move into the source code directory pooma-2.3.0 directory; e.g., cd pooma-2.3.0.

Configuring the source code determines file names needed for compilation. First, determine a configuration file in the config/arch/ directory corresponding to your operating system and compiler. For example, LINUXgcc.conf supports compiling under a Linux operating system with g++, while SGI64KCC.conf supports compiling under a 64-bit SGI Irix operating system with KCC. Next, configure the source code: ./configure - -arch LINUXgcc - -opt - -suite LINUXgcc-opt. The architecture argument to the - -arch option is the name of the corresponding configuration file, omitting its .conf suffix. The - -opt indicates the POOMA Toolkit will contain optimized source code, which makes the code run more quickly but may impede debugging. Alternatively, use the - -debug option which supports debugging. The suite name can be any arbitrary string. We chose LINUXgcc-opt to remind us of the architecture and optimization choice. configure creates subdirectories named "LINUXgcc-opt" for use when compiling the source files. Comments at the beginning of lib/suiteName/PoomaConfiguration.h record the configuration arguments.

To compile the source code, set the POOMASUITE environment variable to the suite name and then type make. To set the environment variable for the bash shell use export POOMASUITE=suiteName, substituting the suite name's suiteName. For the csh shell, use setenv POOMASUITE LINUXgcc-opt. Issuing the make command compiles the POOMA source code files to create the POOMA library. The POOMA makefiles assume the GNUMake is available so substitute the proper command to run GNUMake if necessary. The POOMA library can be found in, e.g., lib/LINUXgcc-opt/libpooma-gcc.a.