Shared Memory Parallelism


Click here to start

Return to PowerLearn Home Page

Table of Contents

Shared Memory Parallelism

Parallel Programming on SGI

SMP Programming

Automatic Parallelization

Automatic Parallelization

Automatically Parallelizable Code

Automatic Parallelization

Automatic Parallelization

Automatic Parallelization

Compiler Assertions

Assertion Examples

Manual Parallelization

Creation of Parallel Regions

Data Status Association

Data Status Transition in Parallel Programs

Volatile Variables

Volatile example: Circular Buffer

Synchronization Variables

Workload Distribution

Example: Parallel Region in FORTRAN

Parallelization Examples/1

Parallelization Examples/2

Parallelization Examples/3

False Sharing 

Scalability & Data Distribution

Why Distribute?

SGI Additions to OpenMP 

Default Distribution: “First Touch”

Data Distribution

Data Placement Policies 

Example: Data Distribution

Data Initialization: Example

Data Distribution Directives

Data Distribution: Examples/1

Data Distributions: Examples/2

Data Reshaping Restrictions/1

Data Reshaping Restrictions/2

Data Reshaping Restrictions/3

Data Distribution: Affinity

The dplace Program

dplace: Placement File

Data Distribution: page_place

Environment Variables: Process

Environment Variables: Process

Environment Variables: Process

Environment Variables: Size

Environment Variables: DSM

Case Study: Maxwell Code

Case Study: Maxwell Code Automatic Parallelization

Scalability of Auto-Parallelization

Case Study: Workload Distribution

Case Study: Data Placement

Parallel Thread Creation

Compile Time Actions

Run Time Actions

Timing and Profiling MP Program

MP SpeedShop Example Output

Example Profile Analysis


Author: Frank Kampe 


Other information: