| United States-English |
|
|
|
![]() |
Parallel Programming Guide for HP-UX Systems > Chapter 1 Introduction to parallel
environmentsOverview |
|
Using one of the HP language compilers—Fortran, C/C++, or UPC (Unified Parallel C)— parallel software programs are designed, created, and modified. 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. The parallel components of the program are implemented by multi-threading and/or message passing techniques. 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. 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. 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. 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 Once the program is debugged and working properly, it can be instrumented to obtain performance profiles through the use of 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 |
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||