Goals

  • Describe steps a CPU performs surrounding actual arithmetic

  • Anticipate when performance will be affected by cache size

  • Exercises

    • Fit a model to data

    • Read & write models using a probabilistic programming language

    • Estimate uncertainties in model parameters using Markov chain Monte Carlo

  • Project

    • Plan data structures to optimize for memory access

    • Consider whether autodifferentiation and/or probablistic program model is appropriate for your project

Readings

Project Proposal

Lab

Lab 4: Higher-level Languages & Probabilistic Programming (due Sept 20)

  • Exercise 1: Auto-differentiation & Optimization (as in minimization/maximization of a function)

  • Exercise 2: Probabilistic Programming Language

Additional Resources

  • Monday Q&A: Compilation, Code inspection, Vectorization, Memory Hierarchy