Electrical Engineering and Computer
Sciences Department
University of California, Berkeley
Course goals: The introduction of multicore chips into the
computing market has created a revolution in the software industry. To
benefit from increases in hardware performance, software must be parallel.
The purpose of this course is to teach the next generation of programmers
to develop exciting new applications that can take advantage of on-chip
parallelism.
Over the past two years, every major microprocessor
manufacturer has introduced processor chips with multiple cores, with dual
and quad core processors for desktop and laptops, and over a hundred cores
available in some Graphics Processing Units. The expectation is that the
number of cores per chip will roughly double every two years
while processor clock speeds will remain relatively flat.
This makes parallel programming a concern for the entire computing industry.
This course will provide an introduction to
parallel programming with a focus on the techniques that are most appropriate
for multicore architectures and the use of parallelism to improve program
performance. The topics of the course include performance analysis and
tuning, data and task parallelism, synchronization
techniques, shared data structures, and load balancing.
The course will be a hands-on project course, with 4-5 programming
projects, including a final project selected by the student.
Course Work and Grading
There will be a series of homework assignments that include parallel programming
that will constitute 30% of your grade. Two quizzes will make up 15% each,
and the final project in the course will be worth 40%. The quizzes will cover
material presented in lecture. There will not be a final exam for the course.
Course Staff
Instructor
Professor Kathy Yelick
Office hours: Wednesday 12-1pm in 777 Soda Hall or by appointment
Email: yelick AT cs
Head Teaching Assistants
Mark Hoemmen (Head TA)
Office hours: Monday 12-1pm in 651 Soda (Alcove) or by appointment
Email: mhoemmen AT eecs
Brian Kazian
Office hours: Friday 12-1pm in 751 Soda or by appointment
Email: bkazian AT eecs