CS 385: Multicore & Manycore Programming
Spring 2009 Course Information

Links: [Course Home] [Course Info] [Course Schedule] [Resources] [WebCT]


Dr. Suzanne Rivoire (suzanne.rivoire@sonoma.edu)

Website: http://rivoire.cs.sonoma.edu
Office Phone: 707-664-3337
Office Hours: M 1:00-3:00 PMDarwin 116H
T 11:00 AM-noonDarwin 116H
W 1:00-3:00 PMDarwin 116H
Or by appointment.

Course Meeting Time

Lecture:MW 4:00-4:50Darwin 30
Lab:W 5:00-6:50Darwin 25


CS 215 and CS 252.


Lin and Snyder, Principles of Parallel Programming (ISBN-13: 978-0321487902). The textbook is recommended for students who want a modern introduction to parallel programming but is not required for the course.

Online Resources

Course Description

Lecture, 3 hours. From laptop and desktop processors like the Intel Core 2 Duo to specialized hardware like NVidia's graphics boards or the Playstation's Cell processor, today's processors require parallel programming to harness their full capabilities. Students in this class will learn about the challenges that these multicore and manycore processors present to programmers, and they will gain experience with multiple programming models. This cutting-edge experience will give students the skills to program future generations of general-purpose as well as graphics hardware.

Tentative Course Schedule

This schedule is subject to change.
Background: Multicore HW & parallel programming2 weeksJan. 26 - Feb. 4
OpenMP programming3 weeksFeb. 9 - Feb. 25
Intel Thread Building Blocks (TBB) programming3 weeksMar. 3 - Mar. 18
NVidia CUDA programming3 weeksMar. 23 - Apr. 8
Overview of other models; final projects4 weeksApr. 20 - May 13
Final Examn/aWed. May 20, 5:00-6:50 PM


Lecture: The tentative course schedule shows the topics to be covered. Students are expected to attend all lectures and to get the notes from another student if absent. Students are also expected to skim the assigned reading material before each lecture and read more fully after the lecture.

Labs: Weekly labs will allow students to practice parallel programming in a collaborative environment. Lab attendance is required, and labs are due at the beginning of the next week's lab session.

Projects: Several programming projects will be assigned throughout the semester to give students hands-on experience with different parallel programming models. The collaboration policy will be strictly enforced.

Quizzes: Four quizzes will be given, covering the different programming models studied. Each student is allowed one make-up quiz, which will be conducted as a one-on-one interview by appointment. The final quiz cannot be made up.

Final exam: During the scheduled final exam time for the course, the fourth quiz will be given in combination with a comprehensive final exam designed to test knowledge at a higher conceptual level than the quizzes. The final exam cannot be made up.

Grading Policies

Grade breakdown:

Comprehensive final exam10%

Grading scale:

93-100%90-92%87-89%83-86%80-82%77-79%73-76%70-72%67-69%63-66%60-62%Below 60%

CS majors using this course to fulfill the electives requirement must take this course for a letter grade.

Up to 3% may be added to your final grade at the instructor's discretion for constructive participation in the class. Constructive participation includes in-class participation; asking good questions via email or during office hours; and doing outstanding or extra work on assignments. No other adjustments of borderline grades will be considered.

Late projects and extensions: Each student may take up to one 24-hour extension per semester on a project of their choice without penalty. No other late work will be accepted.

Regrades: Regrade requests will be accepted for up to 7 days after an assignment or exam is returned. The reason for the regrade request must be explained in writing and submitted as a hard copy along with the assignment or exam to be regraded. Note that all regrade requests, except for those pointing out mistakes in the totaling of points, will cause the entire assignment or exam to be regraded. The adjusted grade may therefore be higher or lower than the initial grade.

Collaboration Policy

You are encouraged to discuss course material with other students. Don't be shy about consulting with anyone, but please understand that you, and only you, bear the responsibility for solving the problems associated with producing a successful project or solving a lab assignment.

All material turned in for credit must be your own work. You may discuss ideas and approaches but you should work out all details and write up all solutions on your own. Copying part or all of another student's assignment, with or without the student's knowledge, is prohibited. Similarly, copying old or published solutions is prohibited.

Receive help with care. Avoid working too closely with another student. Otherwise, you can unwittingly become dependent on that student's help and fool yourself into thinking that you understand things better than you really do. Always attempt to do as much as you can on your own. If your program matches another student's program too closely, you will be penalized for academic dishonesty.

Give help with care. Don't help too much. When you understand something, you may be tempted to show someone too much help. However, if you do this, you will rob them of the learning experience of reaching the solution on their own. Try giving a hint that will help them get "unstuck." Although you are allowed to help other students, you are never under any obligation to do so. If your program matches another student's program too closely, you will be penalized for academic dishonesty.


Disability Accommodations

If you are a student with a disability and you think you may require accommodations, please register with the campus office of Disability Services for Students (DSS), located in Salazar Hall - Room 1049, Phone: (707) 664-2677, TTY/TDD: (707) 664-2958. DSS will provide you with written confirmation of your verified disability and authorize recommended accommodations. This authorization must be presented to the instructor before any accommodations can be made. Visit http://www.sonoma.edu/dss for more information.