CSE 260 Schedule (Winter 2014)

This schedule is subject to change, so check frequently
When references to the texts are cited, we use the following naming conventions:

Lecture 1, 1/6/14 (Tuesday)
Introduction

Lecture 2, 1/8/12 (Thursday)
Address space organization, shared memory and memory locality optimization.

Lecture 3, 1/14/14 (Tue)
☛ Note time and room change: 6.30-7.50pm, WLH 2205
Memory hierarchy optimization; Vectorization

Lecture 4, 1/16/14 (Thu): Multicore programming with OpenMP; Parallel Performance

Lecture 5, 1/21/14 (Tue): Introduction to computing with Graphical Programming Units
  • Lecture slides Posted
  • Today's reading:
    • Scalable Parallel Programming with CUDA, J. Nickolls et al., ACM Queue, 6(2):40-53, March/April 2008. Read through page 48 (If reading the html version, read through Related Work)
    • Programming Massively Parallel Processors: A Hands-on Approach, by David Kirk and Wen-mei Hwu, 2nd Ed. Morgan Kaufmann Publishers (2012). Chapter 1 (all).

Lecture 6, 1/23/14 (Thu):
CUDA programming; Matrix Multiplication in CUDA
  • Lecture slides Posted
  • Today's reading: Kirk and Hwu, Chapter 3 (all), Chapter 4 (pp. 63-81).

Lecture 7, 1/28/14 (Tue):
Using shared memory, performance programming and the memory hierarchy
  • Lecture slides Updated
  • Today's reading:
    • Kirk and Hwu, Chapter 4 (81-91), Chapter 5 (all).

Lecture 8, 1/30/14 (Thu):
More on Coalescing; Bank Conflicts; Further performance programming for matrix multiply
  • Lecture slides Posted
  • Today's reading:
    • V. Volkov and J. Demmel. "Benchmarking GPUs to tune dense linear algebra," Proc. 2008 ACM/IEEE Conf. on Supercomputing, Austin, TX, Nov. 15 - 21, 2008.     PDF     (Read through §4)
    • Kirk and Hwu, Chapter 6, §6.2.
    • Shared memory for capability 2.0 devices CUDA C Programming Guide, NVIDIA.
  • To probe further (optional). "NVIDIA Tesla: A Unified Graphics and Computing Architecture," by Erik Lindholm, John Nickolls, Stuart Oberman, and John Montrym. IEEE Micro 28(2):39-255, March 2008, DOI (This paper is a little outdated but it discusses warp scheduling)

Lecture 9, 2/4/14 (Tue):
Divergence; ILP; Thread scheduling.
  • Lecture slides Posted
  • Today's reading:
    • Kirk and Hwu, Chapter 6 (§6.1, 6.3-6.4).
    • Hennessy Patterson, §C.7, pp C-70 to C-80 (4th Ed.: Appendix A, § A.7 (pp. A-65 to A-75)), "Pipelining, Crosscutting Issues." (If you wish to probe further, read § C.1 - C.4)
      Available electronically via the UCSD library at http://roger.ucsd.edu/record=b7202878~S9 (UCSD Active Directory login required):
    • Hennessy and Patterson, Chapter 4, §4.4, pp 288-298, 300-303, 305-308, "Graphical Processing Units"

Lecture 10, 2/6/14 (Thu):
Stencil methods, Limits to performance.

Lecture 11, 2/11/14 (Tue)
☛ Note time and room change: 6.30-7.50pm, EBU3B 4140
Floating point; Particle Methods;

Lecture 12, 2/13/14 (Thu): Message Passing Programming Model; Introduction to MPI;

Lecture 13, 2/18/14 (Thu):
Under the hood of MPI; Asynchronous, non-blocking communication;
Debugging; Message Passing Performance
  • Lecture slides Posted
  • Today's reading:
    • Pacheco. Chapter 3: §3.3 (pp. 97-101), §3.4.5 (pp. 106-109), §3.6 (pp. 123-127)
    • Reader on Stencil Methods
    • Modeling the performance of an iterative method pdf
  • 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 in $(PUB)/lib/PPF, examples in $(PUB)/examples/PPF (See the README file for important information about using the software).

Lecture 14, 2/20/14 (Tuesdsay): Matrix multiplication:
Cannon's Algorithm, Communication avoiding Matrix multiply, SUMMA.

Lecture 15, 2/25/12 (Tuesday): Collective communication and its applications

Lecture 16: 3/1/12 (Thursday): Sorting; Gaussian Elimination

Lecture 17: 3/4/14 (Tuesday): Irregular Problems: partitioning and load balancing

Lecture 18: 3/6/14 (Thursday): Irregular Problems - continued: sparse matrices;
NUMA architectures and programming.

Lecture 19, 3/12/14 (Tuesday): Parallel Programming Languages

Lecture 20, 3/14/14 (Thursday): The future  

Valid XHTML 1.0 Strict   Valid CSS!