Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
Parallel Programming Guide for HP-UX Systems > Chapter 1 Introduction to parallel environments

Overview

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Glossary

Using one of the HP language compilers—Fortran, C/C++, or UPC (Unified Parallel C)— parallel software programs are designed, created, and modified.

Non-parallel components

Serial optimizations of the non-parallel components of a program are performed with the use of Fortran, C/C++, or UPC compiler switches. Additional optimization can occur with the use of HP MLIB.

Parallel components

The parallel components of the program are implemented by multi-threading and/or message passing techniques.

UPC

UPC provides a simple shared memory model for parallel programming, allowing data to be shared or distributed among a number of communicating processors. This model allows easier coding of parallel applications and maximum performance across shared memory, distributed memory, and hybrid systems.

Fortran and C/C++

HP Fortran and C/C++ compilers support the shared memory OpenMP construct for creating multi-threads. Additionally, HP provides a message passing library—HP MPI—which runs on all HP platforms. Using these techniques, you can create program concurrency where different parts of the program run in parallel, thereby minimizing execution time.

Debugging

During compilation, the program may encounter errors and require debugging. Errors can be located using the HP WDB debugger or the Etnus TotalView debugger. Both tools are designed to work with the various compilers used to build the program.

HP WDB Debugger

The HP WDB debugger is an HP-supported implementation of the GDB debugger that supports debugging serial and Pthreaded programs. It supports source-level debugging of object files written in HP C, HP aC++, Fortran 90, and Fortran 77. HP’s implementation includes many enhancements to GDB such as enabling/disabling threads, debugging memory problems, and heap analysis.

For more information, visit http://www.hp.com/go/wdb

Tuning and profiling

Once the program is debugged and working properly, it can be instrumented to obtain performance profiles through the use of HP Caliper.

HP Caliper

HP Caliper is a general-purpose performance analysis tool for applications on Itanium-based HP-UX and Linux systems. HP Caliper allows users to understand the performance of their program and to identify ways to improve its run-time performance. It supports Fortran, C/C++, and threads.

Tuning and profiling will help achieve your goal of writing a parallel program that scales with the number of processors in the system on which it is running.

For more information, visit http://www.hp.com/go/caliper

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© Hewlett-Packard Development Company, L.P.