Middlebury

CSCI 0416

Parallel Computing

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 0202) 3hrs. lect./lab
Subject:
Computer Science
Department:
Computer Science
Division:
Natural Sciences
Requirements Fulfilled:
DED

Sections

Spring 2025

CSCI0416A-S25 Lecture

Spring 2023

CSCI0416A-S23 Lecture (Linderman)

Spring 2020

CSCI0416A-S20 Lecture (Linderman)