beautypg.com

1 serial application build environment, 2 building serial applications, 1 compiling and linking serial applications – HP XC System 3.x Software User Manual

Page 46: 7 developing parallel applications, 1 parallel application build environment, Developing parallel applications, Building serial applications

background image

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