CHPC Software: Fortran Compilers
Fortran Compilers on Arches
Updated: March 29th, 2006
The Arches metacluster offers several compilers. The GNU Compiler Suite includes ANSI C, C++ and Fortran 77 compilers. The current version is 3.4.4, that is shipped with RedHat EL 4 that is run on the system.
In addition to GNU compilers, we offer three commercial compiler suites. The Pathscale compilers generally provide superior performance. They include C, C++ and Fortran 77/90/95. An advantage is full interoperability with GNU compilers, including g77.
The Portland Group Compiler Suite is another good compiler distribution, which we have seen to perform better in some cases than Pathscale. It should also interoperate with GNU, though we have seen problems with execution of some Fortran codes that were linking g77 compiled libraries.
Finally, we also offer non-commercial license for Intel
compilers for EM64T platform, which work well on x86-64 Opterons.
From our testing, this compiler performs just slightly slower
than Pathscale and a bit faster than PGI.
This compiler is at present included just as a convenience to the
users, with no library support, but, we would be happy to assist
with library installation if such a need arises.
GNU compilers
The GNU distribution is located in the default area, that is, compilers in /usr/bin, libraries in /usr/lib or /usr/lib64, header files in /usr/include,.... The user should not need to do anything else than to invoke the compiler by its name, e.g.:
g77 source.c -o executable
Pathscale compilers
The latest version of Pathscale compilers are located at
/uufs/chpc.utah.edu/sys/pkg/pscale/std
In order to use the compiler, users have to source shell script that defines paths and some other environment variables.
source /uufs/chpc.utah.edu/sys/pkg/pscale/std/etc/pscale.csh(forcsh/tcsh)source /uufs/chpc.utah.edu/sys/pkg/pscale/std/etc/pscale.sh(forksh/bash)
The compilers are invoked as pathcc, pathCC and pathf90 for C, C++ and F90, respecti vely. For list of available flags, use the man pages (e.g. man pathf90).
Aggressive optimization is achieved with -O3 -OPT:Ofast.
Further performance gain can be achieved with using
interprocedural analysis, invoked with -ipa flag,
however, there are some limitations with the usage. Contact
CHPC staff if you run into problems.
For more information on the compiler visit Pathscale EKOPath site.
Documentation, including whitepapers is at Pathscale documentation site.
Portland Group compilers
The latest version of Portland Group compilers are located
at /uufs/chpc.utah.edu/sys/pkg/pgi/std
In order to use the compiler, users have to source shell script that defines paths and some other environment variables.
source /uufs/chpc.utah.edu/sys/pkg/pgi/std/etc/pgi.csh(forcsh/tcsh)source /uufs/chpc.utah.edu/sys/pkg/pgi/std/etc/pgi.sh(forksh/bash)
The compilers are invoked as pgcc, pgCC, pgf77 and pgf90 for C, C++, F77 and F90, respectively. For list of available flags, use the man pages (e.g. man pgf90).
We generally recommend flag -fastsse for good performance.
For more information on the compiler, visit Portland Group website.
Documentation including user's guide, language reference, etc. can be found here.
Intel compilers
The latest version of Intel Fortran compilers is located
at /uufs/chpc.utah.edu/sys/pkg/intel/ifort/std
To find the compiler version, use flag -v, i.e. icc -v.
In order to use the compiler, users have to source shell script that defines paths and some other environment variables.
source /uufs/chpc.utah.edu/sys/pkg/intel/ifort/std/bin/ifortvars.csh(forcsh/tcsh)source /uufs/chpc.utah.edu/sys/pkg/intel/ifort/std/bin/ifortvars.sh(forksh/bash)
The compilers are invoked as icc, icpc and ifort for C, C++ and F90, respectively. For list of available flags, use the man pages (e.g. man ifort).
We generally recommend flag -O3 for good performance.
For more information on the compiler, visit Intel Fortran compiler website< /a>.
Documentation including user's guide, language reference, etc. can be found her e.

