CS 5220

Applications of Parallel Computers


Location: Gates G01
Lecture: TR 1:25-2:40
Discussion: Ed Discussion
Course material: GitHub

Prof: David Bindel
Email: bindel@cornell.edu
Office: Rhodes 612
Office hours: M 3:30-4:30; W 4:00-5:00; or by appointment

TA: Jiatian (Caroline) Sun
Email: js3623@cornell.edu
Office hours: Th 4:30-5:30 at Rhodes 574

TA: Evan Vera
Email: erv29@cornell.edu
Office hours: T 4:30-6:30 at Rhodes 402

News

2024-08-22: Unable to enroll? Check out the CS waitlist info page

2024-08-22: Welcome to CS 5220!

Older news »

Overview

CS 5220 is an introduction to performance tuning and parallelization, particularly for scientific codes. Topics include:

  • Single-processor architecture, caches, and serial performance tuning
  • Basics of parallel machine organization
  • Distributed memory programming with MPI
  • Shared memory programming with OpenMP
  • Parallel patterns: data partitioning, synchronization, and load balancing
  • Examples of parallel numerical algorithms
  • Applications from science and engineering

Students should be able to read and write serial programs written in C or a related language. Because our examples will be drawn primarily from engineering and scientific computations, some prior exposure to numerical methods is useful, though not necessary. Prior exposure to parallel programming is not required, and non-CS students from fields involving simulation are particularly welcome!

See the syllabus for more information on course logistics.