Parallel Environment is a high-function development and execution environment for parallel applications (distributed-memory, message-passing applications running across multiple nodes). It is designed to help organizations develop, test, debug, tune and run high-performance parallel applications written in C, C++ and Fortran on Power Systems clusters. Parallel Environment runs on AIX® or Linux®.
Parallel Environment includes the following components:
- The Parallel Operating Environment (POE) for submitting and managing jobs.
- IBM's MPI and LAPI libraries for communication between parallel tasks.
- A parallel debugger (pdb) for debugging parallel programs.
- IBM High Performance Computing Toolkit for analyzing performance of parallel and serial applications.
Parallel Operating Environment (POE)
POE enables users to develop and execute parallel applications across multiple operating system images (nodes). POE includes parallel application compile scripts for programs written in C, C++ and Fortran, as well as a command line interface to submit commands and applications in parallel. POE also provides an extensive set of options and additional functions to fine-tune the application environment to suit the execution of the application and system environment.
POE can work in conjunction with IBM LoadLeveler to assist in resource management, job submission and node allocation.
Message Passing Interface (MPI), Low-level Application Programming Interface (LAPI)
MPI and LAPI provide communications between parallel tasks, enabling application programs to be "parallelized."
MPI provides message passing capabilities that enable parallel tasks to communicate data and coordinate execution. The message passing routines call communication subsystem library routines to handle communication among the processor nodes.
LAPI differs from MPI in that it is based on an "active message style" mechanism that provides a one-sided communications model in which one process initiates an operation and the completion of that operation does not require any other process to take a complementary action. LAPI is also the common transport layer for MPI and is packaged as part of the AIX RSCT component.
Parallel debugger (PDB)
The parallel debugger (pdb) streamlines debugging of parallel applications, presenting the user with a single command line interface that supports most dbx/gdb execution control commands and provides the ability to examine running tasks. In order to simplify management of large numbers of tasks, dbx/gdb allows tasks to be grouped so that the user may examine any subset of the debugged tasks.
pdb allows users to invoke a POE job or attach to a running POE job and place it under debug control. pdb starts a remote dbx/gdb session for each task of the POE job put under debugger control.
pdb provides these advance features:
- Dynamic tasking support
- Multiple console display
- Output filtering
IBM Parallel Environment Developer Edition
IBM Parallel Environment Developer Edition is an integrated set of application development tools which will help you develop, debug and tune your parallel applications.
IBM PE Developer Edition includes Parallel Tools Platform (PTP). PTP is an Eclipse based application development environment that contains an integrated set of tools to help you edit, compile, run, debug and analyze your parallel application. Advanced tools included with PTP include static analysis tools to locate errors before the code is compiled, refactoring tools to modify code while preserving behavior, and an integrated parallel debugger. PTP supports a broad range of architectures and job schedulers, and provides the ability to easily add support for additional systems.
IBM PE Developer Edition also includes the IBM HPC Toolkit which is a collection of tools that you can use to analyze the performance of parallel and serial applications that are written in C or FORTRAN, running the AIX operating system on IBM Power Systems Servers. The Xprof GUI also supports C++ applications. These tools perform the following functions:
- Provide access to hardware performance counters for performing low level analysis of an application, including analyzing cache usage and floating-point performance.
- Profile and trace an MPI application for analyzing MPI communication patterns and performance problems.
- Profile an OpenMP application for analyzing OpenMP performance problems and to help you determine if an OpenMP application properly structures its processing for best performance.
- Profile application I/O for analyzing an application’s I/O patterns and whether you can improve the application’s I/O performance.
- Profile an application’s execution for identifying hotspots in the application, and for locating relationships between functions in your application to help you better understand the application’s performance.
Additional information about the various tools, including related software and installation information can be found here
Contact IBM
- Find a Business Partner
Call IBM: 1-866-883-8901
Priority code: 101LW04W