Programming on Parallel Machines: GPU, Multicore, Clusters and More
University of California, Davis
University of California, Davis, 2012
@book{matloff2012programming,
title={Programming on Parallel Machines: GPU, Multicore, Clusters and More},
author={Norm Matloff},
year={2012}
}
This open-source textbook on parallel programming is aimed more on the practical end of things, in that: There is very little theoretical content, such as O() analysis, maximum theoretical speedup, acyclic graphs and so on; Real code is featured throughout; We use the main parallel platforms-OpenMP, CUDA and MPI-rather than languages that at this stage are largely experimental, such as the elegant-but-not-yet-mainstream Cilk; Considerable attention is paid to techniques for debugging. The main programming language used is C (C++ if you prefer), but some of the code is in R, the dominant language is the statistics/data mining worlds. The reasons for including R are given at the beginning of Chapter 8, and a quick introduction to the language is provided. It is assumed that the student is reasonably adept in programming, and has math background through linear algebra. (An appendix to the book reviews the parts of the latter needed for this book.) Here’s how to get the code files you’ll see in this book: The book is set in LaTeX, and the raw .tex files are available in http://heather.cs.ucdavis.edu/~matloff/158/PLN. Simply download the relevant file (the file names should be clear), then use a text editor to trim to the program code of interest. Like all my open source textbooks, this one is constantly evolving. I continue to add new topics, new examples and so on, and of course fix bugs and improve the exposition. For that reason, feedback is highly appreciated. I wish to thank Bill Hsu, Sameer Khan, Mikel McDaniel, Richard Minner and Lars Seeman for their comments. You may also be interested in my open source textbook on probability and statistics, at http://heather.cs.ucdavis.edu/probstatbook. This work is licensed under a Creative Commons Attribution-No Derivative Works 3.0 United States License. Copyright is retained by N. Matloff in all non-U.S. jurisdictions, but permission to use these materials in teaching is still granted, provided the authorship and licensing information here is displayed in each unit. I would appreciate being notified if you use this book for teaching, just so that I know the materials are being put to use, but this is not required.
January 16, 2012 by hgpu