Teton hosts several compiler collections. To utilize a compiler in any of these sets, one must utilize the module command to augment the environment to load the appropriate compiler set. To compile code that requires the utilization of the message passing interface (MPI), an MPI wrapper needs to be utilized — please see MPI Compiling.
Each of the following collections includes C, C++ and Fortran compilers. A list of the compilers in each of these collections is given below.
Intel compiler collection
The Intel compilers are the preferred choice for compiling on Teton. This is because the compute nodes utilize Intel processors. Intel software often can optimize more for their own processing units better than other compilers, but that is not always the case or you may have specific reasons to utilize other compilers.
|icc||Intel C Compiler|
|icpc||Intel C++ Compiler|
|ifort||Intel Fortran Compiler|
GNU Compiler Collection
The GNU Compiler Collection (GCC) is a set of compilers which is open source and often found as part of any base Linux system for research computing. The following table shows the commands for compiling C, C++, and Fortran on Teton.
|gcc||GNU C compiler|
|g++||GNU C++ compiler|
|gfortran||GNU Fortran compiler|
The PGI compilers are developed by the Portland Group and concentrate on providing full featured compilers for several environments. PGI compilers also have extensions for additional programming practices such as OpenACC.
|pgcc||PGI C compiler|
|pgCC||PGI C++ Compiler|
|pgfortran||PGI Fortran Compiler|
|pgf77||PGI Fortran 77 Compiler|