
An Introduction to Parallel Programming
Peter Pacheco(Author)
Morgan Kaufmann (Publisher)
Will be published approx. on 30. October 2030
Book
Paperback/Softback
392 pages
978-0-12-810382-1 (ISBN)
The article will not be published
Description
An Introduction to Parallel Programming is the first undergraduate text to directly address compiling and running parallel programs on the new multi-core and cluster architecture. It explains how to design, debug, and evaluate the performance of distributed and shared-memory programs. The author Peter Pacheco uses a tutorial approach to show students how to develop effective parallel programs with MPI, Pthreads, and OpenMP, starting with small programming examples and building progressively to more challenging ones. The text is written for students in undergraduate parallel programming or parallel computing courses designed for the computer science major or as a service course to other departments; professionals with no background in parallel computing.
Reviews / Votes
"Pacheco succeeds in introducing the reader to the key issues and considerations in parallel programming. The simplicity of the examples allows the reader to focus on parallel programming aspects rather than application logic. Including both MPI and Pthreads/OpenMP is a good way to illustrate the differences between message passing and shared-memory programming models. The discussions about analyzing the scalability and efficiency of the resulting parallel programs present a key aspect of developing real parallel programs. Finally, working through the same examples using all three facilities helps make this even more concrete." --W. Hu, ComputingReviews.com"This is a well-written book, appropriately targeted at junior undergraduates. Being easily digestible, it makes the difficult task of parallel programming come across a lot less daunting than I have seen in other texts. Admittedly, it is light on theory; however, the most memorable lessons in parallel programming are those learned from mistakes made. With over 100 programming exercises, learning opportunities abound." --Bernard Kuc, ACM's Computing Reviews.com
"With the coming of multicore processors and the cloud, parallel computing is most certainly not a niche area off in a corner of the computing world. Parallelism has become central to the efficient use of resources, and this new textbook by Peter Pacheco will go a long way toward introducing students early in their academic careers to both the art and practice of parallel computing." --Duncan Buell, Department of Computer Science and Engineering, University of South Carolina
"An Introduction to Parallel Programming illustrates fundamental programming principles in the increasingly important area of shared memory programming using Pthreads and OpenMP and distributed memory programming using MPI. More importantly, it emphasizes good programming practices by indicating potential performance pitfalls. These topics are presented in the context of a variety of disciplines including computer science, physics and mathematics. The chapters include numerous programming exercises that range from easy to very challenging. This is an ideal book for students or professionals looking to learn parallel programming skills or to refresh their knowledge." --Leigh Little, Department of Computational Science, The College at Brockport, The State University of New York
"An Introduction to Parallel Programming is a well written, comprehensive book on the field of parallel computing. Students and practitioners alike will appreciate the relevant, up-to-date information. Peter Pacheco's very accessible writing style combined with numerous interesting examples keeps the reader's attention. In a field that races forward at a dizzying pace, this book hangs on for the wild ride covering the ins and outs of parallel hardware and software." --Kathy J. Liszka, Department of Computer Science, University of Akron
"Parallel computing is the future and this book really helps introduce this complicated subject with practical and useful examples." --Andrew N. Sloss FBCS, Consultant Engineer, ARM, Author of ARM System Developer's Guide
More details
Language
English
Place of publication
San Francisco
United States
Publishing group
Elsevier Science & Technology
Target group
College/higher education
Students in undergraduate parallel programming or parallel computing courses designed for the computer science major or as a service course to other departments; professionals with no background in parallel computing.
Illustrations
61 illustrations
Dimensions
Height: 234 mm
Width: 191 mm
ISBN-13
978-0-12-810382-1 (9780128103821)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
New editions

Peter Pacheco | Matthew Malensek
An Introduction to Parallel Programming
Book
11/2021
2nd Edition
Morgan Kaufmann
€78.50
Shipment within 10-15 days
Additional editions

Peter Pacheco
An Introduction to Parallel Programming
Book
02/2011
Morgan Kaufmann
€78.11
Article exhausted; check for reprint
Person
Peter Pacheco received a PhD in mathematics from Florida State University. After completing graduate school, he became one of the first professors in UCLA's "Program in Computing,? which teaches basic computer science to students at the College of Letters and Sciences there. Since leaving UCLA, he has been on the faculty of the University of San Francisco. At USF Peter has served as chair of the computer science department and is currently chair of the mathematics department.His research is in parallel scientific computing. He has worked on the development of parallel software for circuit simulation, speech recognition, and the simulation of large networks of biologically accurate neurons. Peter has been teaching parallel computing at both the undergraduate and graduate levels for nearly twenty years. He is the author of Parallel Programming with MPI, published by Morgan Kaufmann Publishers.
Content
1. Why Parallel Computing2. Parallel Hardware and Parallel Software3. Distributed Memory Programming with MPI4. Shared Memory Programming with Pthreads5. Shared Memory Programming with OpenMP6. Parallel Program Development7. Where to Go from Here