Launching applications with the srun command (Section 6.4)

Advanced topics related to developing parallel applications (Section 3.9)

Debugging parallel applications (Section 4.2)

3.7.1Parallel 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 processors, along with the I/O and process control structures to manage these kinds of applications.

HP XC supports the HP-MPI distributed memory programming model for building and running parallel applications. In addition to using HP-MPI for parallel application development, HP XC supports the use of OpenMP and Pthreads. OpenMP and Pthreads can be used in conjunction with HP-MPI or separately. The section discusses these development tools as they relate to the HP XC system.

3.7.1.1 Modulefiles

The basics of your working environment are set up automatically by your system administrator during the installation of HP XC. However, your application development environment can be modified by means of modulefiles, as described in Section 2.2.

There are modulefiles available that you can load yourself to further tailor your environment to your specific application development requirements. For example, the TotalView module is available for debugging applications. Section 2.2 provides instructions on how to list what modulefiles are available for you to load, and how load a modulefile.

If you encounter problems accessing tools or commands (and associated manpages), check to ensure that required modules are loaded on your system. If necessary, load required modules yourself, as described in Section 2.2. Otherwise, contact your administrator.

3.7.1.2 HP-MPI

HP XC supports the HP-MPI distributed memory programming model for building and running parallel applications. In this model, all data is private to each process. All interprocessor communication within a parallel application is performed through calls to the HP-MPI message passing library. Even though support for applications that use a shared-memory programming model is not available at this time, individual processors within an application node can be used in the same application as separate HP-MPI tasks. Applications that are MPI-based, and currently run on Linux (or Linux compatible) systems, can be easily migrated to an HP XC cluster. For information about using HP-MPI in the HP XC environment, refer to Chapter 8.

3.7.1.3 OpenMP

The OpenMP specification is a set of compiler directives that can be used to specify shared-memory parallelism in Fortran and C/C++ programs. Both Intel and Portland Group Fortran and C/C++ compilers support OpenMP.

Although OpenMP is designed for use on shared-memory architectures, OpenMP can be used on an HP XC system within a node.

OpenMP can be used alone, or in conjunction with HP-MPI. For information about compiling programs using OpenMP, refer to OpenMP documentation.

3.7.1.4 Pthreads

POSIX Threads (Pthreads) is a standard library that programmers can use to develop portable threaded applications. Pthreads can be used in conjunction with HP-MPI on the HP XC system.

Developing Applications 3-5

Page 45
Image 45
HP XC System 2.x Software manual Parallel Application Build Environment, Modulefiles, Hp-Mpi, OpenMP, Pthreads