Preparing for Class

Week 1

Week 2

Week 3

Week 4

Week 5

  • Prior to Monday's class

    • Introduction to High Performance Computing for Scientists and Engineers Ch 2: Serial Optimization (26pg) and/or

    • Performance Tips (just the bold section headings is enough for now; come back to read more about any specific tip when it applies to your project)

Week 6

  • Prior to Monday's class

    • Writing Scientific Software Ch 14: Memory Allocation & Garbage Collection (excluding 4.5; 11pg)

    • Writing Scientific Software Ch 12.1: Caches & memory hierarchies, 12.4 Threashing, 12.5 Designing for memory hierarchies, 12.6 Dynamic data structures and memory hierarchies (pg)

    • Latency Numbers Every Programmer Should Know

    • Optionally one of

      • Introduction to High Performance Computing for Scientists and Engineers Ch 3 Data Access Optimization (excluding 3.1.2, 3.3, 3.3; 20pg)

      • Introduction to High-Performance Computing Ch 1.7: Programming strategies for high performance (16pg)

  • Prior to Wednesday's class

Week 7

  • Prepare for Code Review

Week 8

Week 9

Week 10

Week 11

Week 12

  • Prior to Monday's class

    • Writing Scientific Software Ch 17.1: Make (4pg; if using C/C++ or Fortran for project) -or-

    • Julia Package Development: Sec. 1-3 (stop after Updating Packages; if using Julia for project)

Week 13-15

  • None