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
Fortran 90, Fortran 77, C, aC++: Exemplar Programming Guide > Chapter 1 Introduction

Exemplar programming model

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Glossary

The Exemplar programming model provides three perspectives from which a programmer can write (or adapt) code to run on an Exemplar system. Those perspectives are the shared-memory, message-passing, and shared-memory/message-passing hybrid paradigms. This book focuses on using the shared-memory paradigm but also provides some information on the other two paradigms.

The shared-memory paradigm

In the shared-memory paradigm, the compilers handle optimizations, and, if requested, parallelization. Numerous compiler directives and pragmas (discussed in detail in Chapter 4, "Chapter 4 “Basic shared-memory
programming”
," and Chapter 5, "Chapter 5 “Memory classes”," and listed in Appendix B “Exemplar compiler
directives and pragmas”
) are available to further increase optimization opportunities.

Chapter 4, "Chapter 4 “Basic shared-memory
programming”
," and Chapter 6, "Chapter 6 “Advanced shared-memory programming”," cover shared-memory programming in detail.

The message-passing paradigm

Hewlett Packard has implemented a version of the MPI standard known as HP MPI. This version is finely tuned for HP technical servers.

Under the message-passing paradigm, the programmer uses functions to explicitly spawn parallel processes, share data among them, and coordinate their activities. There is no shared memory; each process has its own private 16-terabyte (Tbyte) address space, and any data that must be shared must be explicitly passed between processes.

Support of message passing allows programs written under this paradigm for distributed-memory machines to be easily ported to HP servers. Programmers familiar with message passing may choose to write new programs using this paradigm rather than shared memory and can realize a substantial performance boost over conventional message-passing machines, even when coding finer-grained parallelism. The few programs that require more per-process memory than possible using shared memory will benefit from the manually-tuned message-passing style.

For more information, see Chapter 7, "Chapter 7 “Message-passing
programming”
" or the book HP MPI User's Guide.

Message-passing/shared-memory hybrids

Some programs may benefit from combining the paradigms to allow several shared-memory processes to coordinate their activities via message passing. This model allows the majority of the program to be written in the familiar shared-memory style while exploiting the process-private memory benefits of message passing.

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