LecturesΒΆ

PDF copies of my lecture slides will be posted to this page throughout the semester. For each section of the class, reading assignments are listed. Of these, readings from Pacheco are required, whereas readings from the other materials are optional.


Lecture 0: Introduction

Lecture 1: Machines and Computation

Reading: [0: ch 1-2], [1: 1.1-1.8], [2: ch 1-3, 7; sec 17.2], [3], [6: part I]

Lecture 2: C++ Introduction for Matlab Programmers or Fortran Introduction for Matlab Programmers

Reading: [1: ch 2-8, 15, 17, 21; app E] or Zybook

Example codes (tarballs contain versions in Matlab, C++, Fortran90 and C):

Lecture 3: "Best Practices" for Scientific Computing

Lecture 4: Shared-Memory Parallel Programming with OpenMP

Reading: [0: ch 5], [2: ch 17; app E], [4]

Lecture 5: Distributed-Memory Parallel Programming with MPI

Reading: [0: ch 3], [2: ch 4, 5, 8-13, 18; app A, C], [5], [6: part II], [7]

Example codes:

References:

[0] Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011.

[1] Dietel, C++: How to Program, 8th edition, Pearson, 2011.

[2] Quinn, Parallel Programming in C with MPI and OpenMP, McGraw-Hill Press, 2003.

[3] Barney, Introduction to Parallel Computing.

[4] Barney, OpenMP.

[5] Barney, Message Passing Interface (MPI).

[6] Foster, Designing and Building Parallel Programs.

[7] Cronk, Advanced MPI.