Using OpenMP: Portable Shared Memory Parallel Programming

Using OpenMP: Portable Shared Memory Parallel Programming

2008 | Barbara Chapman, Gabriele Jost, Ruud van der Pas
This chapter discusses the evolution of computers that led to the specification of OpenMP and its relevance to mainstream computing. It provides an overview of parallel computing and the main approaches to creating parallel programs. OpenMP enables the creation of shared-memory parallel programs by allowing programmers to describe concurrency in application codes. The chapter explains the concept of shared-memory parallel computers (SMPs), their architecture, and the challenges of programming them. It also discusses the memory consistency problem and the importance of cache coherence in SMPs. The chapter outlines the origin of OpenMP, its development, and its role in enabling portable shared-memory parallel programming. It compares OpenMP with other parallel programming models, such as MPI and Pthreads, and provides examples of how to implement parallel programs using these models. The chapter concludes with a discussion of the benefits of OpenMP and its importance in the development of parallel applications.This chapter discusses the evolution of computers that led to the specification of OpenMP and its relevance to mainstream computing. It provides an overview of parallel computing and the main approaches to creating parallel programs. OpenMP enables the creation of shared-memory parallel programs by allowing programmers to describe concurrency in application codes. The chapter explains the concept of shared-memory parallel computers (SMPs), their architecture, and the challenges of programming them. It also discusses the memory consistency problem and the importance of cache coherence in SMPs. The chapter outlines the origin of OpenMP, its development, and its role in enabling portable shared-memory parallel programming. It compares OpenMP with other parallel programming models, such as MPI and Pthreads, and provides examples of how to implement parallel programs using these models. The chapter concludes with a discussion of the benefits of OpenMP and its importance in the development of parallel applications.
Reach us at info@study.space