Calendar

Week Lectures Recitations Key Dates

1

L1: Intro and Matrix Multiplication

R1: Basic Tools

HW1: Basic Tools, C Primer assigned

2

L2: Bentley's Rules

L3: Bit Hacks

R2: Profiling

HW2: Profiling assigned

Project 1 Beta assigned

3

L4: Architecture and Vectorization

L5: C to Assembly

No recitations

HW3: Vectorization assigned

Project 1 Beta Writeup due

Project 1 Final assigned

4

L6: Multicore Programming

L7: Races and Parallelism

R3: Cilk and Reducers

HW4: Cilk, Reducer Hyperobjects assigned

Project 1 MITPOSSE deadline

5

L8: Analysis of Multithreaded Algorithms

L9: What Compilers Can and Cannot Do

R4: Analysis of Multithreaded Programs

HW5: Theory of Performance Engineering assigned

Project 1 Final due

Project 2 Beta assigned

6

L10: Measurement and Timing

R5: Quiz #1 Review

Project 2 Beta due

Project 2 Final assigned

7

L11: Storage Allocation

R6: Simple, Straightforward Memory Allocation

Quiz #1

HW6: Simple Storage Allocation assigned

Project 2 MITPOSSE deadline

8

L12: Parallel Storage Allocation

L13: The Cilk Runtime System

R7: Compiler-Inserted Instrumentation

HW7: Dynamic Analysis Tools assigned

Project 2 Final due

Project 3 Beta assigned

9

L14: Caching and Cache-Efficient Algorithms

L15: Cache-Oblivious Algorithms

R8: Chaching and Cachegrind

HW8: Caching and Cachegrind assigned

Project 3 Beta due

Project 3 Final assigned

10

L16: Nondeterministic Programming

L17: Synchronization without Locks

R9: Deterministic Execution

HW9: Deterministic Execution assigned

Project 3 MITPOSSE deadline

11

L18: DSLs and Autotuning

L19: Leiserchess Code Walk

R10: Quiz #2 Review

Project 3 Final due

Project 4 Beta 1 assigned

12

No lectures

No recitations

Quiz #2

13

L20: Speculative Parallelism/Project Parallelization Strategies

L21: Guest Lecture

R10: Synchronization Primitives and Examples

HW10: Data Synchronization assigned

Project 4 Beta 1 due

Project 4 Beta 2 assigned

14

L22: Graph Optimization

L23: Guest Lecture

No recitations

Project 4 Beta 2 due

Project 4 Final assigned

Project 4 MITPOSSE deadline

15

No lectures

No recitations

Student Presentations due