
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. Thus, the older systems, hecate and woodhen, have a gcc 3 compiler, while all the rest have gcc 4. Additionally, every head node also has a matching version of g++, the Gnu C++ compiler. All except hecate have matching gfortran, the Gnu Fortran compiler. All except artemis have matching g77, the Gnu FORTRAN 77 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.
PGI C, C++ and Fortran
Princeton has a current license. The compilers are installed on an as-requested basis onto cluster head nodes.
