| Lecture | Date | Subject |
| 1 | 9/25 | Overview. Text, pp. 1-8. |
| 2 | 9/29 |
Memory hierarchies, address organization, parallel computer architecture, PRAMs
Text, pp. 30-47, 53-55; |
| 3 | 10/2 |
Introduction to programming with threads.
Text, pp. 8-13, 15-24, pp. 145-153. Also look over the tutorial POSIX Threads Programming, through §6. On-line resources on threads |
| 4 | 10/7 |
Performance. Synchronization with Semaphores. Text, Chapter 3 (pp. 61-85). The Little Book of Semaphores, by Allen Downey, Ch. 2 (3 pages), Ch. 3, §3.1-3.3. |
| 5 | 10/10 |
Caches: coherence and consistency Multithreaded iterative stencil methods Text, pp, 174-187; Gregory F. Pfister, In Search of Clusters, 2nd Ed, Prentice Hall, 1998, pp. 235-268. Class rescheduled for Friday 10/10, CSB 004, 2:00 to 3:20. |
| 6 | 10/14 |
Synchronization: FIFO, Queues, and
classical problems.
The Little Book of Semaphores, by Allen Downey, Ch. 3: pp. 45-59, Ch. 4: pp. 65-72. Text, re-read pp. 34-36. Notes on shared memory
For further reading
|
|
7 (Continues from Lecture 6) |
10/16 |
NUMA Performance (Continued from Lecture 6)
Gregory F. Pfister, In Search of Clusters, 2nd Ed, Prentice Hall, 1998, pp. 185-192,196-198. The false sharing example and the page migration plots come from this source: Origin 2000 and Onyx2 Performance Tuning and Optimization Guide, Chapter 8, see Scalability and Data Placement |
| 8 | 10/21 |
Performance Programming. Text, Ch. 11, pp. 305-320. Optimizing fast linear algebra kernels for the memory hierarchy (Jim Demmel, UC Berkeley). Ignore algorithm 2. |
| 9 | 10/23 | More on performance programming. Experimentation techniques. |
| 10 | 10/28 | Midterm review. |
| 11 | 10/30 | MIDTERM |
| 12 | 11/4 | Threaded Program Design For reference |
| 13 | 11/6 |
Code development; performance
Sphinx parallel microbenchmarks (code includes pthreads and openmp) |
| 14 | 11/7 |
Design and construction of an OpenMP program. Introduction to Parallel Computing, 2nd Ed. Grama, Gupta, Karypis, and Kumar, Benjamin-Cummings, 2003: Ch. 7, pp. 311-331. Lecture notes posted For reference: Getting started with OpenMP (Intel) Makeup lecture [of 11/18] to be held on Friday 11/7, 2:00 to 3:20 PM, in CSB 002. There will be no section this week. |
| 11/11 | Veteran's Day Holiday. No class. | |
| 15 | 11/13 |
Lecture notes posted
Performance programming: profiling, vectorization. |
| 11/18 | There will be no lecture on this date. | |
| section | 11/20 | This week's section will be during our regularly scheduled Thursday lecture time. |
| 16 | 11/21 |
Programming with message passing. Text: Chapter 7, pp.202-222. For further reading: A User’s Guide to MPI, by Peter Pacheco, pp. 1-17. pdf This week's Thursday lecture will be held on Friday, 11/21, 2:00 to 3:20 in CSB 002. Section will be held on Thursday instead. |
| 17 | 11/25 |
Applications of MPI; performance. Reading: Modeling performance of an image smoother PDF Lecture notes posted |
| 11/27 | No class. Happy Thanksgiving! | |
| 18 | 12/2 |
Lecture slides have been posted
Leading edge technologies. Reading: (IEEE Digital Library, accessible from any campus machine. If you have a UCSD network account, then you may use the UCSD Web proxy which will enable you to access restricted content from non-UCSD Internet service providers.) |
| 19 | 12/4 |
Final Exam Review. Slides posted |
| 12/10 | Final Exam: 11:30 am to 2:30 pm in WLH 2205 (usual meeting place) |
Scott B. Baden © 2008
Department of Computer Science and Engineering
University of California, San Diego
La Jolla, California, USA