CSE160 Wi16 - Lectures and Homework Schedule



This schedule is subject to change, so check frequently

When references to the texts are cited, we use the following naming conventions:

Here are the slides from section: https://goo.gl/tA92TA


Lecture 1: Introduction to parallel computing (1/5/16 Tue)


Lecture 2: Hardware organization; software execution models; threads Programming; performance

1/7/16 Thu


Lecture 3: Synchronization; the Mandelbrot set computation (1/12/16 Tue)


Lecture 4: Applying synchronization; finding and avoiding synchronization errors (1/14/16 Thu)


Lecture 5: Processor self scheduling; the memory hierarchy (1/19/16 Tue)


Lecture 6: Cache consistency and coherence (1/21/16 Thu)


Lecture 7: Parallel Merge, Barrier Synchronization (1/26/16 Tue)

Optional Reading


Lecture 8: OpenMP (1/28/16 Thu)

Tutorials and documentation


Lecture 9: OpenMP, condition variables (2/2/16 Tue)


Lecture 10: Midterm Review 2/4/16 Thu

There will be no reading quiz for today’s lecture


Midterm 2/9/16 Tue


Lecture 12: Stencil Methods and C++ atomics (2/11, Thu)


Lecture 13: The C++11 memory model; implementing synchronization (2/16, Tue)

For further reading (optional)


Lecture 14: The C++11 memory model: continued; implementing synchronization, SSE vector processing (2/18, Thu)

To read further about SSE - pragmatics (optional)

To read further about other optimizations


Lecture 15: Floating Point Arithmetic (2/23, Tue)


Lecture 16: Optimizing for the memory hierarchy (2/25, Thu)


Lecture 17: NUMA architecture and programming (3/1, Tue)


Lecture 18: Pipelining and Instruction Level Paralellism (3/3, Thu)

For Further Reading (Optional)


Lecture 19: Graphical Processing Units (3/7, Tue)

For Further Reading (Optional)


Lecture 20: Final exam review 3/10/16 Thu


Final

3/15/16 Tue (3:00pm to 5:59pm) WLH 2005 New