How to become a parallel programmer by learning the twenty-one
essential components of OpenMP.
This book guides readers through the most essential elements of
OpenMP--the twenty-one components that most OpenMP programmers use most
of the time, known collectively as the "OpenMP Common Core." Once they
have mastered these components, readers with no prior experience writing
parallel code will be effective parallel programmers, ready to take on
more complex aspects of OpenMP. The authors, drawing on twenty years of
experience in teaching OpenMP, introduce material in discrete chunks
ordered to support effective learning. OpenMP was created in 1997 to
make it as simple as possible for applications programmers to write
parallel code; since then, it has grown into a huge and complex system.
The OpenMP Common Core goes back to basics, capturing the inherent
simplicity of OpenMP.
After introducing the fundamental concepts of parallel computing and
history of OpenMP's development, the book covers topics including the
core design pattern of parallel computing, the parallel and
worksharing-loop constructs, the OpenMP data environment, and tasks. Two
chapters on the OpenMP memory model are uniquely valuable for their
pedagogic approach. The key for readers is to work through the material,
use an OpenMP-enabled compiler, and write programs to experiment with
each OpenMP directive or API routine as it is introduced. The book's
website, updated continuously, offers a wide assortment of programs and
exercises.