next up previous
Next: Building the code Up: Configuration examples Previous: Example configuration: IBM AIX


Example configuration: Red Hat based parallel Linux systems at LLNL

As mentioned above, Red Hat based systems typically use non-release versions of the Gnu compilers (such as 2.96). You can test what version of compiler you have by running gcc -v. If it spits out a string containing 2.96 as the version, we strongly recommend building a newer version of gcc for use with Spheral++. The latest releases of gcc can be found at http://gcc.gnu.org. Instructions for building gcc can be found in the source and at the main web site.

Once you have a reasonable version of the compiler, you must configure Spheral++ to build with it. Additionally, on a distributed parallel Linux cluster you want to make sure that mpicc and mpiCC are using the correct compiler. On most Linux clusters mpicc/mpiCC are simply scripts from the MPICH distribution (http://www-unix.mcs.anl.gov/mpi/), in which case it is possible to override the compilers they use with environment variables. In the Spheral++ source we have examples of modified front-end scripts (the spheral/src/helpers/mpicc and spheral/src/helpers/mpiCC files) set up to do just this, assuming the compilers you want to run are called gcc-3.4.3 and g+-3.4.3+. These are appropriate for use on the LLNL Linux clusters, such as pengra and mcr.

On intel Linux you can choose to use either the gnu or intel compiler sets, i.e.

./configure --with-compilers=intel
or
./configure --with-compilers=gnu --with-opt=2 --with-dbc=none
You can also override any of the individual compiler choices as needed,
./configure --with-compilers=gnu --with-opt=2 --with-dbc=none \
    --with-CC=gcc-3.4.3 --with-CXX=g++-3.4.3 \
    --with-MPICC=/home/username/Spheral++/spheral/src/helpers/mpicc \
    --with-MPICXX=/home/username/Spheral++/spheral/src/helpers/mpiCC


next up previous
Next: Building the code Up: Configuration examples Previous: Example configuration: IBM AIX
Mike Owen 2006-09-13