Matthew J. Sottile is a research associate and adjunct assistant professor in the Department of Computer and Information Sciences at the University of Oregon. He has a significant publication record in both high performance computing and scientific programming. Dr. Sottile is currently working on research in concurrent programming languages and parallel algorithms for signal and image processing in neuroscience and medical applications. Timothy G. Mattson is a principal engineer at Intel Corporation. Dr. Mattson’s noteworthy projects include the world’s first TFLOP computer, OpenMP, the first generally programmable TFLOP chip (Intel’s 80 core research chip), OpenCL, and pioneering work on design patterns for parallel programming. Craig E Rasmussen is a staff member in the Advanced Computing Laboratory at Los Alamos National Laboratory (LANL). Along with extensive publications in computer science, space plasma, and medical physics, Dr. Rasmussen is the principal developer of PetaVision, a massively parallel, spiking neuron model of visual cortex that ran at 1.14 Petaflops on LANL’s Roadrunner computer in 2008.
… a clear focus in this book is on keeping the material accessible. The authors succeed at this brilliantly. … if you are just jumping into the world of concurrent programming, or taking a more theoretical look at the approaches we’ve all been taking for granted for the past 20 years in an attempt to make things better, then this book is a great start. The authors present a clear motivation for the relevance of continuing this work, and provide both the historical context and knowledge of present day practice that you’ll need to get off on the right foot. That they manage to do this while keeping the language clear and the text accessible is a tribute to the effort Sottile, Mattson, and Rasmussen put into the creation of the text. —insideHPC.com, October 2010 Sottile, Mattson, and Rasmussen have successfully managed to provide a nice survey of the current state of the art of parallel algorithm design and implementation in this well-written 300-page textbook, suitable for undergraduate computer science students … this concise yet thorough book provides an outstanding introduction to the important field of concurrent programming and the techniques currently employed to design parallel algorithms. It is clearly written, well organized, and cuts to the point … It is an informative read that I highly recommend to those interested in the design and implementation of parallel algorithms. —Fernando Berzal, Computing Reviews, May 2010