The Portland Group Workstation suite provides parallelising Fortran and C/C++ compilers, a graphical parallel debugger and a graphical parallel profiler which together provide a complete programming environment.
These compilers include support for the directive-based OpenACC programming model and from within the PGI Accelerator Fortran compiler, support for CUDA Fortran and from within the PGI Accelerator C/C++ compiler, support for CUDA-x86.
Accessing the software
To load the module:
$ module load apps/pgi/v2013.13.8
The following commands are available:
- pgf77 for the Fortran77 compiler
- pgf95 for the Fortran95 compiler
- pghpf for the High Performance Fortran compiler
- pgCC or pgcpp for the C++ compiler
- pgcc for the ANSI C compiler
To compile and run the Fortran95 program hworld.f95 and run the resulting file:
Use the compiler option -acc to compile a program containing OpenACC directives, for example:
pgf95 openacc-program.f95 -acc
The PGDBG debugger is a graphical symbolic debugger for single-thread, multi-thread, OpenMP and MPI applications. It can be used to control execution and examine the state of a parallel Fortran 95/03, C or C++ program. It can control and examine threads, OpenMP tasks or MPI processes individually, all at once, or in user-defined sub-groups. PGDBG is interoperable with the GNU gcc/g77. To run the debugger use the command:
The PGPROF profiler is an interactive OpenMP thread-parallel and MPI parallel performance analysis tool. It is used to quickly determine where execution time is spent and to identify which functions were called and how often. PGPROF supports function-level, line-level and assembly-level profiling using a uniform time-based sampling mechanism across all supported platforms. Hardware performance counter technology is supported. The PGPROF GUI displays information in intuitive easy-to-use formats and enables browsing of compiler optimisation feedback (CCFF) correlated with loop and function source code. Additional capabilities include the ability to quickly analyse MPI Sends, MPI Receives and other MPI communication. Execution time in multi-threaded regions is also readily accessible. To run the profiler use the command:
Note that an X emulator such as Exceed is required if accessing BlueBEAR from a Windows desktop.
The module load apps/pgi/v2013.13.8 command sets the following environment variables:
- PGI_EXAMPLES refers to a directory containing some example programs
Accessing Previous Versions
Wherever possible, previous versions of this application will be retained for continuity, especially for research projects that require a consistent version of the software throughout the project. Such versions, however, may be unsupported by IT Services or the applications vendor, and may be withdrawn at short or no notice if they can no longer run on the cluster - for example, essential operating system upgrades may be incompatible with old versions.
At present there are no previous versions of this application on the BlueBEAR service.
Known Problems & Limitations
- An X emulator such as Exceed is required to provide graphical support for the profiler and debugger on a Windows desktop. This is available from Software Sales.
Last modified: 7 December 2017