CS 5220

Applications of Parallel Computers

Location: Gates G01
Lecture: TR 8:40-9:55
Discussion: Piazza
Course material: GitHub

Prof: David Bindel
Email: bindel@cs.cornell.edu
OH: W 1:30-2:30, Th 10-11 in Gates 425
Scheduler link

TA: Eric Hans Lee
Email: erichanslee@cs.cornell.edu
OH: T 11-12 in Gates G11, Th 11-12 in Gates G15, and by appointment


2017-08-31: Class accounts are ready! Check out the cluster page for how to log in, and the assignments page for HW 1 (due 9/5) and Project 1 (due 9/12).

2017-08-19: Unable to enroll? Check out the CS waitlist info page

2017-08-08: Welcome to CS 5220!

Older news »


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.

We gratefully acknowledge Intel for an equipment grant in support of this course.