HP XC System Software User's Guide Version 3.2

4.6.1 Serial Application Build Environment
You can build and run serial applications in the HP XC programming environment. A serial
application is a command or application that does not use any form of parallelism.
An example of a serial application is a standard Linux command, such as the ls or hostname
command. A serial application is basically a single-core application that has no communication
library calls such as MPI.
4.6.2 Building Serial Applications
This section discusses how to build serial applications on an HP XC system. Compiling, linking,
and running serial applications are discussed.
To build a serial application, you must be logged in to an HP XC node with the login role. Serial
applications are compiled and linked by invoking compilers and linkers.
You launch a serial application either by submitting it to LSF-HPC with the bsub command, or
by invoking the srun command to run it. The process is similar to launching a parallel
application, except that only one compute node core is used. To run on an compute node
processor, the serial application and any required dynamic libraries must be accessible from that
node. A serial application can also be tested locally by running it on the login node.
4.6.2.1 Compiling and Linking Serial Applications
Serial applications are compiled and linked by invoking compile and link drivers.
You can change compilers by using modules. For information about using modules, see “Overview
of Modules” (page 37).
As an alternative to using dynamic libraries, serial applications can also be linked to static libraries.
Often the -static option is used to do this.
For examples of building serial applications with the GNU C, GNU Fortran, and Intel C/C++,
and Intel Fortran compilers, see “Building and Running a Serial Application” (page 125).
4.7 Developing Parallel Applications
This section describes how to build and run parallel applications. The following topics are
discussed:
“Parallel Application Build Environment” (page 46)
“Building Parallel Applications” (page 49)
For further information about developing parallel applications in the HP XC environment, see
the following:
“Launching Jobs with the srun Command” (page 91)
“Debugging Parallel Applications” (page 67)
Chapter “Advanced Topics” (page 117)
4.7.1 Parallel Application Build Environment
This section discusses the parallel application build environment on an HP XC system.
The HP XC parallel application environment allows parallel application processes to be started
and stopped together on a large number of application cores, along with the I/O and process
control structures to manage these kinds of applications.
The HP XC system software uses the HP-MPI distributed memory programming model for
building and running parallel applications. In addition to using HP-MPI for parallel application
development, OpenMP and Pthreads can be used in conjunction with HP-MPI or separately
under the HP XC system software. The section discusses these development tools as they relate
to the HP XC system.
46 Developing Applications