Welcome to CpSc 418
This course provides an introduction to parallel computation including parallel algorithms; parallel computer architectures; and paradigms and languages for parallel programs. Nearly everything digital is now parallel. This ranges from cell phones and other mobile devices that use multi-core processors to deliver application performance while extending battery life to large web-servers and scientific super computers that can consist of thousands of computers working together to solve large data analysis or numerical computing problems.
The Waitlist
CpSc 418 is currently full. We expect that a few slots will open up. Priority will be given to students who submit acceptable solutions to the pre-class assignments (PIKAs).
For more information
The slides for the first lecture provide a course overview. Click here for an index for all slides that are online.
Midterm
Office Hours and Tutorials
Monday, | office hour, | Chris Chen, | 11am-12noon | Demco 150 |
Tuesday, | office hour, | Mark Greenstreet, | 1-2:30pm | ICICS 323 |
Wednesday, | office hour, | Yan Peng, | 2:30-3:30pm | ICCS-X139 |
Thursday, | tutorial, | Chris Chen, | 1-2pm | DMP 201 |
Friday, | tutorial, | Sean Hsiung, | 2-3pm | ICCS 104 |
Resources
For the CUDA portion of the course we are using Programming Massively Parallel Processors (3rd edition) by David B. Kirk and Wen-Mei W. Hwu (UBC access online here). Note the 2nd edition is also widely available but is missing some critical material and hence will be insufficient for CPSC 418 this year.
Resources for learning Erlang, MPI, and pthreads are available here.