Multicore Programming Primer

Electrical Engineering and Computer Science MIT CC BY-NC-SA 4.0 28 lectures

The course serves as an introductory course in parallel programming. It offers a series of lectures on parallel programming concepts as well as a group project providing hands-on experience with parallel programming. The students will have the unique opportunity to use the cutting-edge PLAYSTATION 3 development platform as they learn how to design and implement exciting applications for multicore architectures. At the end of the course, students will have an understanding of: - Fundamental design philosophies that multicore architectures address. - Parallel programming philosophies and emerging best practices. This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month. The course can be tailored to a normal semester time line. Acknowledgements The course instructors are extremely grateful to {{% resource_link "ee4d70a0-2d0e-40e7-bebb-1f304fdd9cfb" "Sony" %}}, {{% resource_link "b0073b49-edd7-4c6e-878d-a4607038a655" "IBM" %}}, and {{% resource_link "20c3dac4-dbbd-4448-bfda-50c0279d24d6" "Toshiba" %}} for their support.

Syllabus

  1. 1 L1: Course Introduction (part 1)
  2. 2 L1: Course Introduction (part 2)
  3. 3 L2: Introduction to Cell Processor
  4. 4 L3: Introduction to Parallel Architectures
  5. 5 L4: Introduction to Concurrent Programming
  6. 6 L5: Parallel Programming Concepts
  7. 7 L6: Design Patterns for Parallel Programming I
  8. 8 L7: Design Patterns for Parallel Programming II
  9. 9 L8: StreamIt Language
  10. 10 L9: Debugging Parallel Programs
  11. 11 L10: Performance Monitoring and Optimizations
  12. 12 L11: Parallelizing Compilers
  13. 13 L12: StreamIt Parallelizing Compiler
  14. 14 L14: Synthesizing Parallel Programs
  15. 15 L15: Cilk
  16. 16 L16: Introduction to Game Development
  17. 17 17: The Raw Experience
  18. 18 L18: The Future
  19. 19 Projects Introduction
  20. 20 Project: Global Illumination
  21. 21 Project: Battery Simulation
  22. 22 Project: Blue-steel Ray Tracer
  23. 23 Project: Software Radio
  24. 24 Project: Speech Synthesis
  25. 25 Project: Backgammon Tutor
  26. 26 Project: Molecular Dynamics
  27. 27 Projects Closing
  28. 28 Congratulations

Course materials