Abstract

This chapter introduces the basic concepts of parallel programming. It is based on the ParC language, which is an extension of the C programming language with block-oriented parallel constructs that allow the programmer to express fine-grain parallelism in a shared memory model. It can be used to express parallel algorithms, and it is also conducive for the parallelization of sequential C programs. The chapter covers several topics in shared memory programming. Each topic is presented with simple examples demonstrating its utility. The chapter supplies the basic tools and concepts needed to write parallel programs and covers these topics: Practical aspects of threads, the sequential “atoms” of parallel programs. Closed constructs to create parallelism. Possible bugs. The structure of the software environment that surrounds parallel programs. The extension of C scoping rules to support private variables and local memory accesses. The semantics of parallelism. The discrepancy between the limited number of physical processors and the much larger number of parallel threads used in a program.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call