Bridges User Guide
Bridges provides a rich programming environment for the development of applications.
C, C++ and Fortran
Intel, Gnu and PGI compilers for C, C++ and Fortan are available on Bridges. The compilers are:
The Intel and Gnu compilers are loaded for you automatically.
To run the PGI compilers you must first issue the command
module load pgi
There are man pages for each of the compilers.
To compile OpenMP programs you must add an option to your compile command:
for example: icc -qopenmp myprog.c
for example: gcc -fopenmp myprog.c
for example: pgcc -mp myprog.c
Three types of MPI are supported on Bridges: MVAPICH2, OpenMPI and Intel MPI.
There are two steps to compile an MPI program:
- Load the correct module for the compiler and MPI type you want to use, unless you are using Intel MPI. The Intel MPI module is loaded for you on login.
- Issue the appropriate MPI wrapper command to compile your program
|To use the Intel compilers with||Load this module||Compile with this command|
|Intel MPI||none, this is loaded by default||mpiicc||mpiicpc||mpiifort|
|MVAPICH2||mpi/intel_mvapich||mpicc code.c -lifcore||mpicxx code.cpp -lifcore||mpifort code.f90 -lifcore|
For proper Intel MPI behavior, you must set the environment variable I_MPI_JOB_RESPECT_PROCESS_PLACEMENT to 0. Otherwise the mpirun task placement settings you give will be ignored.
setenv I_MPI_JOB_RESPECT_PROCESS_PLACEMENT 0
|To use the Gnu compilers with||Load this module||Compile with this command|
|Intel MPI||none, this is loaded by default||mpicc||mpicxx||mpifort|
|To use the PGI compilers with||Load this module||Compile with this command|
Debugging and performance analysis
DDT is a debugging tool for C, C++ and Fortran 90 threaded and parallel codes. It is client-server software. Install the client on your local machine and then you can access the GUI on Bridges to debug your code.
See the DDT page for more information.
VTune is a performance analysis tool from Intel for serial, multithreaded and MPI applications. Install the client on your local machine and then you can access the GUI on Bridges. See the VTune page for more information.