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

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Glossary

HP Part Number: B3909-90031

Edition:  Eighth Edition

Published: September 2007


Table of Contents

Preface
Scope
Notational conventions
Command syntax
Associated documents
1 Introduction to parallel environments
Overview
Non-parallel components
Parallel components
Debugging
Tuning and profiling
Individual and clustered workstations/servers
Programming Methods
Parallel programming model
The shared-memory paradigm
The message-passing paradigm
HP SMP architectures
Bus-based systems
Hyperplane Interconnect systems
MPI
The message passing model
MLIB
OpenMP
HP UPC
2 MPI
Compiling and Linking
Compiling applications
Building Applications
Running
Running applications
Debugging
Debugging HP MPI applications
Troubleshooting HP MPI applications
Tuning
MPI_FLAGS options
Message latency and bandwidth
Multiple network interfaces
Processor subscription
MPI routine selection
Multilevel parallelism
Coding considerations
Profiling
Using counter instrumentation
Using the profiling interface
3 MLIB
VECLIB
LAPACK
ScaLAPACK
4 OpenMP
HP’s implementation of OpenMP
Command-line option
Optimization levels and parallelism
Arrays
Portable timing routines
Nested lock routines
Additional features
New library
Implementation-defined behavior
From HP Programming Model to OpenMP
Syntax
HP Programming Model directives
More information on OpenMP
5 UPC
Compiling
Linking
Running
Running programs in single thread mode
Running programs in multithread mode using Quadrics RMS
Running programs in multithread mode using the UPC runtime environment
Input and output
Debugging
Tuning
Profiling
6 Data privatization
Directives and pragmas for data privatization
Privatizing loop variables
loop_private
save_last[(list)]
Privatizing task variables
task_private
Privatizing region variables
parallel_private
7 Memory classes
Porting multinode applications to single-node servers
Private versus shared memory
thread_private
node_private
Memory class assignments
C and C++ data objects
Static assignments
8 Parallel synchronization
Thread-parallelism
Thread ID assignments
Synchronization tools
Using gates and barriers
Synchronization functions
sync_routine
loop_parallel(ordered)
Critical sections
Ordered sections
Synchronizing code
Using critical sections
Using ordered sections
Manual synchronization
9 Troubleshooting
Aliasing
ANSI algorithm
Type-safe algorithm
Specifying aliasing modes
Iteration and stop values
Global variables
False cache line sharing
Aligning data to avoid false sharing
Distributing iterations on cache line boundaries
Thread-specific array elements
Scalars sharing a cache line
Working with unaligned arrays
Working with dependences
Floating-point imprecision
Enabling sudden underflow
Invalid subscripts
Misused directives and pragmas
Loop-carried dependences
Reductions
Nondeterminism of parallel execution
Triangular loops
Parallelizing the outer loop
Parallelizing the inner loop
Examining the code
Compiler assumptions
Incrementing by zero
Trip counts that may overflow
Glossary
Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© Hewlett-Packard Development Company, L.P.