Alan Kaminsky Department of Computer Science Rochester Institute of Technology 4525 + 2403 = 6928
Home Page

Building Parallel Programs
SMPs, Clusters, and Java

Prof. Alan Kaminsky
Rochester Institute of Technology -- Department of Computer Science

Table of Contents
Errata


Building Parallel Programs: SMPs, Clusters, and Java by Alan Kaminsky (Cengage Course Technology, 2010, ISBN 1-4239-0198-3) is a textbook on parallel programming. The textbook is based on the Parallel Java Library.

A review of the book:
F. Esquembre. There is parallel life for Java scientific programmers! IEEE Computing in Science and Engineering, 13(4):6-8, July/August 2011. [Blog] [IEEE Xplore]


Table Of Contents

    Preface

    Part I. Preliminaries

  1. Parallel Computing
  2. Parallel Computers
  3. How to Write Parallel Programs
  4. A First Parallel Program
    Part I Exercises

    Part II. SMPs

  5. Massively Parallel Problems
  6. SMP Parallel Programming
  7. Massively Parallel Problems, Part 2
  8. Measuring Speedup
  9. Cache Interference
  10. Measuring Sizeup
  11. Parallel Image Generation
  12. Load Balancing
  13. Reduction
  14. Parallel Random Number Generation
  15. Reduction, Part 2
  16. Sequential Dependencies
  17. Barrier Actions
  18. Overlapping
    Part II Exercises

    Part III. Clusters

  19. A First Cluster Parallel Program
  20. Parallel Message Passing
  21. Massively Parallel Problems, Part 3
  1. Data Slicing
  2. Load Balancing, Part 2
  3. Measuring Communication Overhead
  4. Broadcast
  5. Reduction, Part 3
  6. All-Gather
  7. Scalability and Pipelining
  8. Overlapping, Part 2
  9. All-Reduce
  10. All-to-All and Scan
    Part III Exercises

    Part IV. Hybrid SMP Clusters

  11. Massively Parallel Problems, Part 4
  12. Load Balancing, Part 3
  13. Partitioning and Broadcast, Part 2
  14. Parallel Data Set Querying
    Part IV Exercises

    Part V. Applications

  15. MRI Spin Relaxometry
  16. Protein Sequence Querying
  17. Phylogenetic Tree Construction

    Appendices

  1. OpenMP
  2. Message Passing Interface (MPI)
  3. Numerical Methods
  4. Atomic Compare-and-Set


Errata

Alan Kaminsky Department of Computer Science Rochester Institute of Technology 4525 + 2403 = 6928
Home Page
Copyright © 2016 by Alan Kaminsky. All rights reserved. Last updated 07-Jan-2016. Send comments to ark­@­cs.rit.edu.