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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Koranne, S. (2011). Parallel Programming. In: Handbook of Open Source Tools. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-7719-9_12
Download citation
DOI: https://doi.org/10.1007/978-1-4419-7719-9_12
Published:
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4419-7718-2
Online ISBN: 978-1-4419-7719-9
eBook Packages: Computer ScienceComputer Science (R0)