Not offered 2007-2008
CSCI 338T Parallel Processing (Q)
As processor speeds approach physical limits, we will no longer be able to count on faster and faster processors being released on a regular basis. Performance increases will need to
come from larger, parallel computer systems. Parallelism complicates everything from computer hardware design to operating systems and compilers to application programming, yet
it will become pervasive in the not-too-distant future. This course examines methods, techniques, and languages for parallel programming, libraries and extensions to sequential languages to support parallel programming, parallel computing environments, performance
analysis, efficiency and complexity of parallel algorithms, and applications of parallel computation. Readings will be taken from recent technical literature and a textbook. This course
is taught in the tutorial format. Students meet weekly with the instructor in pairs to discuss
the week's readings and to present solutions to problem sets. Students complete several programming projects, using parallel computers both in the department and at national supercomputing centers. There is a midterm and a final exam.
Format: tutorial. Evaluation will be based on the weekly assignments that will include both
programming and written components (40%), exams (25%), and tutorial participation
(10%). The final project (25%) will include a research paper and a minisymposium where
each group will present their project to the class.
Prerequisite: Computer Science 237, Corequisite: Computer Science 256. Enrollment limit :
10 (expected: 10). Preference given to Computer Science majors.