Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword or section
Like this
P. 1
The Design and Analysis of Parallel Algorithms

The Design and Analysis of Parallel Algorithms

Ratings: (0)|Views: 627|Likes:
Published by Justin Smith
I originally published this textbook with Oxford University Press. When it went out of print, I reclaimed its copyright and am rewriting it to reflect new developments and the CUDA parallel programming system (using graphics cards).
I originally published this textbook with Oxford University Press. When it went out of print, I reclaimed its copyright and am rewriting it to reflect new developments and the CUDA parallel programming system (using graphics cards).

More info:

Published by: Justin Smith on Oct 01, 2010
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





The Design and Analysis of Parallel Algorithms
 Justin R. Smith
This book grew out of lecture notes for a course on parallel algorithms that Igave at Drexel University over a period of several years. I was frustrated by thelack of texts that had the focus that I wanted. Although the book also addressessome architectural issues, the main focus is on the development of parallel algo-rithms on “massively parallel” computers. This book could be used in severalversions of a course on Parallel Algorithms. We tend to focus on SIMD parallelalgorithms in several general areas of application:
Numerical and scientific computing. We study matrix algorithms and nu-merical solutions to partial differential equations.
“Symbolicareas, including graph algorithms, symbolic computation,sorting, etc.There is more material in this book than can be covered in any single course, butthere are many ways this book can be used. I have taught a graduate course inparallel numerical algorithms by covering the material in:1. The Introduction.2.
2 of chapter 3 (page 57).3. Chapter 4, and;4. Chapter 5.Another possible “track” through this book, that emphasizes symbolic algorithms,involves covering:1. The Introduction;2. Chapter 2;3. and Chapter 6.A graduate course on parallel algorithms in general could follow the sequence:1. The Introduction;2. Chapter 2 — for a theoretical background;3.
1 and 1.2 of chapter 5 — for a taste of some numerical algorithms;4.
1, 2, 2.1, 2.2, 2.3.1 3.5, and if time permits, 3.7.1 of chapter 6.I welcome readers’ comments, and am particularly interested in reports of errorsor suggestions for new topics or exercises. My address is: Justin R. SmithDepartment of MathematicsDrexel UniversityPhiladelphia, PA 19104USA
and my electronic mail address is
. Although I will try torespond to readers’ comments, I regret that it will probably not be possible torespond to all of them.I generally used the C* language as a kind of “pseudocode” for describingparallel algorithms. Although Modula* might have been more suitable than C* asa “publication language” for parallel algorithms, I felt that C* was better knownin the computing community
. In addition, my access to a C* compiler made itpossible for me to debug the programs. I was able to address many issues thatfrequently do not arise until one actually attempts to program an algorithm. Allof the source code in this book can actually be run on a computer, although I makeno claim that the published source code is optimal.The manuscript was typeset using
TEX — the extension of L
TEX de-veloped by the American Mathematical Society. I used a variety of machines inthe excellent facilities of the Department of Mathematics and Computer Scienceof Drexel University for processing the TEX source code, and used MacDraw ona Macintosh Plus computer to draw the figures. The main font in the manuscriptis Adobe Palatino — I used the
package developed by David M. Jones at the MIT Laboratory for Computer Science to incorporate this font intoTEX.Many of the symbolic computations and graphs were made using the Maplesymbolic computation package, running on my own Macintosh Plus computer.Although this package is not object-oriented, it is very powerful. I am particu-larly impressed with the fact that the versions of Maple on microcomputers are of “industrial strength”.
This will probably change as Modula* becomes more widely available.

Activity (9)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Lars Wirfelt liked this
Pavin Ka liked this
Pavin Ka liked this
Mo Ma liked this
Harsha Talele liked this
Joseph Andy liked this
ersinkuzu liked this

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->