CSE 260 Schedule (Fall 2009)

This schedule is subject to change, so check frequently

Lecture 1, 9/24/09 (Thu): Introduction
  • Lecture slides
  • Homework #0 (due Monday)
  • Today's reading:
    • Text. Introduction to Parallel Computing, 2nd Ed. Grama, Gupta, Karypis, and Kumar, Benjamin-Cummings, 2003
      Chapter 1: ALL.
    • For background reading on memory hierarchies, including virtual memory, see
      John L. Hennessy and David A. Patterson, Computer Architecture, A Qualitative Approach,
      Ed. 3, Morgan Kaufmann, 2003, Chapter 5, esp §5.1-4 and §5.9. Other editions will have similar chapters. This book is on reserve at the S&E library (wait until Monday, 9/28)

Lecture 2, 9/29/09 (Tue): Motivating applications; multiprocessors

Lecture 3, 10/6/09 (Tue): Address space organization, performance, cache coherence and consistency
  • Lecture slides posted
  • Today's reading: Text. Chapter 2: pp. 24-30, 45-53, 61-3. Chapter 5: pp. 197-203, 205-212.
  • For additional background material on shared memory architecture, consult Hennessy and Patterson, Computer Architecture A Quantitative Approach, Morgan Kaufmann. 3rd Ed.: Chapter 6, §6.1, §6.3 or the 4th Ed., Chapter 4, §4.1-2, 4.6


Lecture 4, 10/7/09 (Weds at 11AM, EBU3B 1202): Threads Programming
  • Lecture slides re-posted with revisions to code examples (Code is also available on Triton in $PUB/Examples/Lec04)
  • Today's reading: Text. Chapter 5: pp. 279-294, 307-308.

Lecture 5, 10/8/09 (Thu): A first application; OpenMP

Lecture 6, 10/13/09 (Tue): Message passing
  • Lecture slides posted
  • Today's reading:
    • Text. Chapter 2, §2.5 (pp 53-60); Chapter 6: §6.1-6.3 (pp 233-250)
    • A User's Guide to MPI, by Peter Pacheco, pp. 1-10.     pdf
      (Or Chapters 2 and 3 from Peter Pacheco's Parallel Programming with MPI.
    • For reference: Chapter 8   from Ian Foster's Designing and Building Parallel Programs (Adison Wesley Pub.)
  • The Ring code is available on Triton in $PUB/Examples/Ring
  • Code examples from the Pacheco textbook are available in $Pub/Examples/Pacheco

Lecture 7, 10/15/09 (Thurs): A first application with message passing
  • Lecture slides posted
  • Today's reading:
    • Chapter 2, §2.4.2 through 2.4.4: pp. 32-44; Chapter 6: §6.6.1-6.6.3: pp. 260-263.
    • A User's Guide to MPI, by Peter Pacheco, pp. 11-17     pdf
      Or: Parallel Programming with MPI, by Peter Pacheco: Chapter 4: ALL, Chapter 5: §5.1-5: pp. 65-78
    • Modeling the performance of an iterative method pdf
    • For reference:Chapter 8, §8.1 to 8.3, from Ian Foster's Designing and Building Parallel Programs (Adison Wesley Pub., on-line). Nice introduction to MPI.
  • Code
    • Quadrature code (trapezoidal rule): available in $PUB/Pacheco/ppmpi_c/hap04

Lecture 8, 10/20/09 (Thu): Vectorization, SIMD, GPUs

Lecture 9, 10/22/09 (Thu): Performance Programming with CUDA

Lecture 10, 10/26/09 (Monday at 1pm in EBU3B (CSE) Room 1202): Accelerator Programming
  • Guest speaker: Michael Wolfe
  • Today's reading:
    • The PGI Accelerator Programming Model on NVIDIA GPUs Part I and Part II

Lecture 11, 10/27/09: Memory System Performance, Collective Communication
  • Lecture slides posted
  • Today's reading:
    • Optimization of Collective Communication Operations in MPICH, by R. Thakur, R. Rabenseifner, and W. Gropp. Int’l. J. of High Performance Computing Applications, (19)1:49-66, Spring 2005
    • Supplemental reading: Text. Introduction to Parallel Computing, 2nd Ed. Grama et al., Benjamin-Cummings, 2003.
      Chapter 4: pp. 149-160,166-179 (but §4.5.2); pp 184-189. Chapter 6: pp. 260-72.
    Detailed discussions about MPI collective communication (For Reference). MPI: The Complete Reference, by Marc Snir et al.

Lecture 12, 10/29/09: Performance Measurement, Advanced Communication
  • Lecture slides posted
  • Today's reading: R. Van de Geign and J. Watts, SUMMA: Scalable universal matrix multiplication algorithm, Concurrency: Practice and Experience, 9:255-74 (1997) (Also on Netlib)
  • For Reference:
  • Parallel print function. PPF is the Parallel Tools consortium's parallel print facility. For more information, consult the PPF web page. The software is installed on Triton in $(PUB)/lib/PPF, examples in $(PUB)/examples/PPF (See the README file for important information about using the software).

Lecture 13, 11/3/09: Numerical Linear Algebra on the GPU

Lecture 14, 11/5/09: Load Balancing

Lecture 15, 11/10/09: More Irregular Problems; GPU applications

For further reading


Lecture 16, 11/12/09: Multi-tier computing

  Lecture 17, 11/20/09 (Fri 3:00 to 4:20, EBU3B 1202): Programming Language Support
  • Lecture slides posted
  • Today's reading:
    • M. Frigo, C. E. Leiserson, and K. H. Randall. The implementation of the Cilk-5 multithreaded language. SIGPLAN Not. 33(5):212-223 (May. 1998).     DOI (Also see HPCC06 Challenge Class 2 in Cilk)
    • K. Fatahalian et al., "Sequoia: Programming the Memory Hierarchy," Proc. ACM/IEEE SC 2006 Conf. PDF
  • For reference: Cilk web page

Lecture 18, 12/1: CSE 260 Symposium

Lecture 19, 12/2 (Wed 5:00 to 7:00p, Rm. 4140 EBU3B): CSE 260 Symposium

Lecture 20, 12/3: CSE 260 Symposium


Maintained by baden @ ucsd.
edu   [Wed Nov 18 23:52:15 PST 2009]