Skip to main content
Ctrl+K
IAM 851 Class Notes - Home IAM 851 Class Notes - Home

Overview

  • Syllabus
  • Assignments
  • Project 1
  • Project 2

Foundations

  • Class 1 - Intro
  • Class 2 - Version Management, Terminals, Editors
  • Class 3 - Writing and Organizing Code
  • Class 4 - make and Makefiles
  • Class 5 - Advanced Build Systems
  • Class 6 - Testing and Debugging
  • Class 7 - Test Driven Development
  • Class 8 - Linear Algebra Project (C)
  • Class 9 - Linear Algebra Project (C) continued
  • Class 10 - Linear Algebra -- Crash course in C++
  • Class 11 - Linear Algebra, bounds checking and debugging
  • Class 12 - Linear Algebra with xtensor
  • Class 13 - Performance, Profiling, Data Layout
  • Class 14 - Algorithmic Scalability, Prepare for Parallel Programming

Parallel Programming

  • Class 15 - OpenMP I: Parallel Loops
  • Class 16 - OpenMP II: Scalability, Data Sharing
  • Class 17 - OpenMP III: Private vs Shared Variables
  • Class 18 - OpenMP IV: Critical Sections, Reductions
  • Class 19 - OpenMP V: Work Sharing, Performance Example
  • Class 20 - Parallel Programming, Introduction to MPI
  • Class 21 - MPI I: MPI in 6 functions, sending and receiving messages
  • Class 22 - MPI II: Domain Decomposition, Boundaries
  • Class 23 - MPI III: Domain Decomposition, Solving the wave equation
  • Class 24 - MPI IV: MPI pitfalls and non-blocking communication
  • Class 25 - MPI V: Collective operations
  • Repository
  • Open issue

Index

By Kai Germaschewski

© Copyright 2026, Kai Germaschewski.