Advertisement

Parallel Programming

Chapter

Abstract

Parallel programming deals with multi-processing and multi-threading. With the advent of multi-core computers, parallel programming has become essential. In this chapter we discuss the POSIX threading library (pthread). User annotated compiler supported parallelism with OpenMP is described with the help of examples in Section 12.2. The new features of OpenMP version 3.0 (task computing) is presented with the help of examples in Section 12.2.0.3. In addition to multi-threading, parallel computing has been successfully deployed on cluster grids (called the Beowulf class). The most common API used in cluster computing is MPI (message passing interface) which is discussed in this chapter. In addition to these well established parallel programming systems, the rapid rise of many-core and other forms of parallelism has also created new systems which have had less exposure. In particular the Intel Thread Building Block library, and GPGPU computing with NVIDIA CUDA and OpenCL are described.

Keywords

Application Program Interface Message Passing Interface Code Block Static Schedule OpenMP Directive 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  1. 1.West LinnUSA

Personalised recommendations