Unified Parallel C (Upc) - IBM Power Systems 775 Manual

For aix and linux hpc solution
Table of Contents

Advertisement

shared data, tasks communicate with one another by sending and receiving messages. UPC
introduces the concept of
memory and a particular thread. The PGAS programming model facilitates data locality
exploitation. In addition, the PGAS programming model uses one-sided communication to
reduce the cost of inter-thread communication, as shown in Figure 2-2.
Messag passing MPI
Figure 2-2 Partitioned Global Address Space (PGAS) model
The UPC and other PGAS programming models are the primary target for the global shared
memory facility of the hib chip. The UPC compiler and run time generate calls to the parallel
active messaging interface (PAMI) communication library. The compiler and run time also
optimize the functions that efficiently map to the global shared memory, atomics, and
Collective Acceleration Units (CAUs) in the hub chip.
2.3.3 Unified Parallel C
Unified Parallel C (UPC) is an explicitly parallel extension of the C programming language
that is based on the PGAS programming model. UPC preserves the efficiency of the C
language and supports effective programming on numerous architectures. Scientific
applications that are written in UPC efficiently minimize the time that is required to transfer
shared data between threads.
UPC includes the following features:
Explicitly parallel execution model
The execution model that is used by UPC is called Single Program Multiple Data (SPMD).
All threads in a UPC program execute the same program concurrently. Synchronization
between threads is explicitly controlled by the user.
Separate shared and private address spaces
UPC threads access their private memory space and the entire global shared space. The
global shared memory space is partitioned and each thread has a logical association with
its local portion of shared memory.
108
IBM Power Systems 775 for AIX and Linux HPC Solution
affinity,
Process/Thread
pThreads, OpenMP,
which refers to the physical association between shared
Accelerator Address
Address Space
Shared Memory
Java
Accelerator Thread
Space
PGAS
UPC, CAF, X10

Advertisement

Table of Contents
loading

Table of Contents