15-492: Parallel Algorithms (Fall 2007)
Instructor: Guy Blelloch, Office Hours Monday 1:30 - 2:30, WeH 7125 or by appointment.
Time: Tuesday and Thursday 12:00 - 1:20pm
Place: Wean 5302
TA: Kanat Tangwongsan, Office Hours Tuesday 1:30 - 2:30, WeH 7102 or by appointment.
Course Description: In this course students will learn about parallel algorithms. The emphasis will be on algorithms that can be used on shared-memory parallel machines such as multicore architectures. The course will include both a theoretical component and a programming component. Topics to be covered include: modeling the cost of parallel algorithms, lower-bounds, and parallel algorithms for sorting, graphs, computational geometry, and string operations. The programming language component will include data-parallelism, threads, futures, scheduling, synchronization types, transactional memory, and message passing.
Course Requirements: There will be bi-weekly assignments, a take-home midterm exam, and a final project. Each student will be required to scribe two lectures. Students will get an account on multi6.aladdin.cs.cmu.edu for use on some of the later assignments. We would like to thank Intel Corp. for donating this meachine and Microsoft for some help supporting the class through the Center for Computational Thinking.
Course Project: The final part of the course involves implementing parallel programs to solve real-world problems. A short project proposal (between 1/4 and 1/2 a page) is due Tuesday November 13th. The proposal should succintly describe the scope and goal of the project and a rough timeline. Each project is to be completed by 1 - 2 students. Here are some project ideas.
Scribe Schedule: Click here
Scribes: Here is a LaTeX template.