The HP Opteron cluster has both the standard Gnu compilers (gcc, g77, etc.) as well as the Portland Group compilers (pgf77, pgf90, etc.)
To use the Portland Compilers you must add them to your path - they are located at /usr/local/pgi/linux86-64/current/bin or you can use the "module" command to add them (do a "module avail" to see what's available).
For compiling MPI code, you will need to link to the Myricom MX libraries, e.g. add /opt/mpich-mx/bin and link to libraries in /opt/mpich-mx/lib.
Compiler Flags
| Compiler Flag | Description |
|---|---|
| -tp amd64 | Optimize for Opteron processor, this is the default |
| -Mfree | Fortran Free formatting |
| -mp | Compile open MP code, these systems have 4 CPU's per node, so you can compile code that isn't explicity MPI and get it to run in parallel across the 4CPUs on a node. |
| -O3 | Highest level of optimization |
| -B | (For pgcc), allow C++ style comments, anything after a // to end of line. |
| -Mlarge_arrays | Sometimes needed for addressing in codes which have very large arrays |
Debug / Development Flags
| Debug / Development Flag | Description |
|---|---|
| -g | Standard Debug |
| -C or -Mbounds | Bounds checking for arrays |
| -pg | Profiling |