UC Berkeley CS267 Home Page
Applications of Parallel Computers
Spring 2025
Tu/Th 11:10am-12:30pm, Soda Hall 306
Tu/Th 11:10am-12:30pm, Soda Hall 306
Aydin Buluc (send email), Office Hours Tuesday 3:30-4:30pm at https://lbnl.zoom.us/j/4442666078.
Jim Demmel (send email), Office Hours Friday 9-10 (in Soda 564 and online at https://berkeley.zoom.us/j/8478008973) and 11-12 (just in Soda 564).
Rahul Shah (rsha256@berkeley.edu)
Chuao Dong (chuaodong@berkeley.edu)
Office Hours - Friday 1-3pm (zoom)
Yen-Hsiang Chang (yenhsiangc@berkeley.edu)
Office Hours - Monday 1-2pm in Soda 567 (ring the doorbell to get into the SLICE Lab)
Gabriel Raulet (gabe.h.raulet@berkeley.edu)
Office Hours - Thursday 1-2pm hybrid on zoom and in Soda 567
Vinamra Benara (vbenara@berkeley.edu)
Office Hours - Monday 12-1pm (zoom)
To contact the teaching staff, send email to cs267-instructors@lists.eecs.berkeley.edu. This email is monitored by all of us and will therefore lead to a faster response than emailing one of us individually.
Edstem: Please join our Ed discussion group if you aren't added automatically from bcourses already. We will post assignments and announcements there.
Lectures: 11:10am-12:30pm in 306 Soda Hall. Lectures will be recorded and posted on youtube here: https://www.youtube.com/playlist?list=PLnocShPlK-FtKEyUGGDVZNC328a80xbH9 (You need to login with your @berkeley.edu gsuite). The lab sessions will be posted separately
The lectures and labs will also be livecast at the above link. 45
Grading (4-unit version):
Survey: 1%
HW 1: 9%
HW 2.1, HW 2.2, HW 2.3: 9% each
HW 3: 9%
Quizzes: 9%
Project (only for 4-unit course): 45% (pre-proposal, proposal and poster session included)
The grading rubric for the 3-unit version of CS267 will be as follows:
Survey 1%
HWs: 14% each (there will be 6 in total: 5 existing homeworks + HW4)
Quizzes: 15% total
Late Policy: 2% of assignment worth deducted every day past your due date. NO CREDIT after 10 days. This policy applies to the following assignments:
Homeworks
Pre-proposal
Proposal
This policy does NOT apply to the following assignments, for which late submissions will NOT be considered:
Quizzes
Pre-course survey
Final project poster and report
CS267 was originally designed to teach students how to program parallel computers to efficiently solve challenging problems in science and engineering, where very fast computers are required either to perform complex simulations or to analyze enormous datasets. CS267 is intended to be useful for students from many departments and with different backgrounds, although we will assume reasonable programming skills in a conventional (non-parallel) language, as well as enough mathematical skills to understand the problems and algorithmic solutions presented. CS267 satisfies part of the course requirements for the Designated Emphasis ("graduate minor") in Computational Science and Engineering.
While this general outline remains, a large change in the computing world started in the mid 2000's: not only are the fastest computers parallel, but nearly all computers are becoming parallel, because the physics of semiconductor manufacturing will no longer let conventional sequential processors get faster year after year, as they have for so long (roughly doubling in speed every 18 months for many years). So all programs that need to run faster will have to become parallel programs. (It is considered very unlikely that compilers will be able to automatically find enough parallelism in most sequential programs to solve this problem.) For background on this trend toward parallelism, click here.
Students in CS267 will get an overview of the parallel architecture space, gain experience using some of the most popular parallel programming tools, and be exposed to a number of open research questions. The lectures will also cover a broad set of parallelization strategies for applications covering numerical simulation and data analysis to machine learning.