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. You can also see last year's version of the course.
Midterm
Office Hours
Monday, | Kristian Jensen, | 2-3PM | DLC Table #4 |
Tuesday, | Mark Greenstreet, | 1-2:30pm | ICICS 323 |
Wednesday, | Sitao Lu, | 11am-12pm | DLC Table #5 |
Wednesday, | Ian Mitchell, | 2-3pm | ICICS 217 |
Sunday, | Haoyu(Mason) Yang, | 1pm-2pm | DLC Table #4 |
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.