Historical: Programming on Seaborg Seaborg Decommissioned in January 2008
The programming environment on the SP is similar to that found on most
UNIX platforms.
Compilers
IBM Compilers
Parallel programming is typically accomplished using IBM's MPI library,
but the IBM compilers also support OpenMP. A Java compiler is also
available.
Third-Party Compilers
Parallel Programming
Most codes run on seaborg use the MPI library to communicate
data between nodes. See MPI Resources
for more information.
OpenMP
directives can be used to create parallel threads of execution in a shared-memory
environment, which translates to single node on the NERSC SP. OpenMP and MPI
constructs may be mixed within a single program.
See Using OpenMP on Seaborg.
Debugging and Optimization
A number of tools
facilitate debugging and profiling code.
Much optimization can be accomplished with the proper
IBM Compiler Optimization Flags.
A detailed tuning guide from IBM is available as a pdf file:
Power 3 Introduction and Tuning Guide.
Tutorials and How-To's
Programming Libraries
A rich set of mathematical, visualization, I/O, and other
libraries are available
on Seaborg.
|