With the rise of multi-core architecture, parallel programming is an increasingly important topic for software engineers and computer system designers. Written by well-known researchers Larry Snyder and Calvin Lin, this highly anticipated first edition emphasizes the principles underlying parallel computation, explains the various phenomena, and clarifies why these phenomena represent opportunities or barriers to successful parallel programming. Ideal for an advanced upper-level undergraduate course, Parallel Programming supplies enduring knowledge that will outlive the current hardware and software, aiming to inspire future researchers to build tomorrow's solutions. "...the first basic book on the subject that I've ever seen that seems to have the pulse on the true issues of parallelism that are relevant for students." --Alan Edelman, MIT "Principles of Parallel Programming is a wonderful book and I plan to use it in our new parallel programming course..."---Peiyi Tang, University of Arkansas, Little Rock "I like [Principles of Parallel Programming] very much for a few specific reasons: it's concise, covers the most relevant topics but does not take thousand pages to do it, it is hands on and it covers. ..recent developments with multi-core and GPGPU." --Edin Hodzic, Santa Clara University
Cited By
- Li C, An C, Yang F and Zeng X (2022). ESPSim: An Efficient Scalable Power Grid Simulator Based on Parallel Algebraic Multigrid, ACM Transactions on Design Automation of Electronic Systems, 28:1, (1-31), Online publication date: 31-Jan-2023.
- Gardner W Should We Be Teaching Parallel Programming? Proceedings of the 22nd Western Canadian Conference on Computing Education, (1-7)
- Li W, Bi Y, Zhu X, Yuan C and Zhang X (2016). Hybrid swarm intelligent parallel algorithm research based on multi-core clusters, Microprocessors & Microsystems, 47:PA, (151-160), Online publication date: 1-Nov-2016.
- Gardner W and Carter J Using the pilot library to teach message-passing programming Proceedings of the Workshop on Education for High-Performance Computing, (1-8)
- Ko Y, Burgstaller B and Scholz B Parallel from the beginning Proceeding of the 44th ACM technical symposium on Computer science education, (415-420)
- Choi H and Burgstaller B Non-blocking parallel subset construction on shared-memory multicore architectures Proceedings of the Eleventh Australasian Symposium on Parallel and Distributed Computing - Volume 140, (13-20)
- Khalid N, Ahmad S, Noor N, Fadzil A and Taib M Analysis of parallel multicore performance on sobel edge detector Proceedings of the 15th WSEAS international conference on Computers, (313-318)
- Membarth R, Lokhmotov A and Teich J Generating GPU code from a high-level representation for image processing kernels Proceedings of the 2011 international conference on Parallel Processing, (270-280)
- Zhao J, Shirako J, Nandivada V and Sarkar V Reducing task creation and termination overhead in explicitly parallel programs Proceedings of the 19th international conference on Parallel architectures and compilation techniques, (169-180)
- Hong G, Hong K, Burgstaller B and Blieberger J AdaStreams Proceedings of the 15th Ada-Europe international conference on Reliable Software Technologies, (208-221)
- Gopalakrishnan G, Yang Y, Vakkalanka S, Vo A, Aananthakrishnan S, Szubzda G, Sawaya G, Williams J, Sharma S, DeLisi M and Atzeni S Some resources for teaching concurrency Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging, (1-6)
- Howes L, Lokhmotov A, Donaldson A and Kelly P Towards metaprogramming for parallel systems on a chip Proceedings of the 2009 international conference on Parallel processing, (36-45)