Parallel Computing

Most modern computer architectures are parallel at multiple scales. In this course students will learn to develop programs that can efficiently use those parallel resources to improve performance and solve ever larger problems. Through a project-based survey students will be introduced to parallel hardware (multicore processors, clusters, GPUs), memory models (shared vs. non-shared), locality, synchronization, and different parallel programming models (threads, MapReduce, message-passing, SIMT, and more). Programming assignments will be implemented in multiple languages. (CSCI 202) 3hrs. lect./lab

Schedule
12:45pm-2:00pm on Tuesday, Thursday (Feb 13, 2023 to May 15, 2023)
Location
75 Shannon Street 202
Instructors