everything.study
6.827

Multithreaded Parallelism: Languages and Compilers

Graduate · Historical course

Fall 2002

Topics

  • Expressing Parallel Computation
  • Implicitly Parallel Multithreaded Programming
  • The Lambda Calculus
  • The Lambda Calculus with Constants and Let Bindings, Part I
  • The Lambda Calculus with Constants and Let Bindings, Part II
  • Hindley Milner Type System
  • Polymorphism and Overloading
  • Algebraic Types: Tuples and Lists
  • Pattern Matching and List Comprehensions
  • Arrays and Abstract Types
  • I-Structures and Open Lists
  • M-Structures, Part I
  • M-Structures, Part II
  • The Lambda-S Calculus with Side Effects
  • Monads and Monadic I/O, Part I
  • Monads and Monadic I/O, Part II
  • Bluespec 1: A Language for Hardware Design, Simulation and Synthesis
  • Bluespec 2: Compilation Model & Intro to Programming
  • Bluespec 3: The IP Lookup Problem
  • Bluespec 4: Modules and Type Classes
  • Bluespec 5
  • Bluespec Discussion (no notes)
  • Term Rewriting Systems, Part I
  • Term Rewriting Systems, Part II
  • Project Presentations
  • Project Write-Ups Due

Readings

  • Nikhil, Rishiyur S., and Arvind. Implicit Parallel Programming in pH . 1st ed. Boston, MA: Morgan-Kaufmann, 2001. ISBN: 1558606440.
    Listed reading
Sources