Portland

Why Would You Use an Portland Group Compiler

The Portland Group compilers are production quality, high performance optimizing compilers. They provide extensive documentation and tools. They are not recommended for new programs on Princeton clusters.

A reason for chosing an Portland Group compiler would be that the application under consideration was developed with an Portland Group compiler.

Availability

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

Compatibility

The Portland Group compilers accept the standard ISO / ANSI languages with some extensions.

Simple Usage

To compile a C source program named test.c into an executable program named test, use

pgcc -o test test.c

To compile a C source program named gravity.c into an object file to be linked later, use

pgcc -c gravity.c

To combine the C object files, main.o, tensor.o, matrix.o and vector.o into an executable program called algebra, use

pgcc -o algebra main.o tensor.o matrix.o vector.o

Similarly, for a C++ program, use

pgCC -o test test.cxx

pgCC -c gravity.cxx

pgCC -o algebra main.o tensor.o matrix.o vector.o

For a Fortran program, one might use

pgfortran -o test test.f

pgfortran -c gravity.f

pgfortran -o algebra main.o tensor.o matrix.o vector.o

Programs written in Fortran 90 should be named ending with ".f90", rather than ".f"

Debugging

The main tool used to debug Portland Group compiler suite programs is the Gnu debugger, gdb. Allinea's commercial debugger, DDT, is available on many of the clusters. Usage instructions for DDT can be found here.