Compilers

The programming language environment provided on the TIGRESS HPC machines is limited to C, C++, and various recent dialects of Fortran. We also provide Python and Perl for scripting. There is a central Subversion server as well.

Selecting a Language

We recommend the current version of the Intel compilers for new C, C++ and Fortran HPC programs. If you are using software created by someone else, using the same compiler that was used in that software's development may make your work easier.

We have found that Python works well for general purpose scripts where Bash or the C shell prove to be too limiting. Perl is recommended for post-processing program output.

GCC, G++ and GFORTRAN

All of our Linux clusters provide gcc on the head nodes. The system gcc is matched to the version of the operating system and is not alterable. However, newer versions of gcc are available by loading the rh/devtoolset module (module load rh/devtoolset). Additionally, every head node also has a matching version of g++, the Gnu C++ compiler and gfortran, the Gnu Fortran compiler.

Intel C, C++ and Fortran

All of our Linux clusters provide Intel C, C++ and Fortran compilers. This group of compilers is produced by the manufacturer of the processors used in our clusters and generally generates very good code. Use the module command (module load intel) to load the intel compilers (icc, icpc, ifort).

PGI C, C++ and Fortran

Princeton has a current license. The compilers are installed on an as-requested basis onto cluster head nodes.