CS267 Handout 1: Class Introduction
Spring 1995
This class will equip students to use existing parallel computers,
vector computers, and networks of high-performance workstations to
solve large computational problems in engineering and science. We
will discuss parallel computer architectures and software systems so
as to understand their capabilities, limitations, and costs. We will
also discuss a variety of parallel algorithms and applications,
studying the tradeoffs among different solutions. Sample problems and
applications we consider will include particle simulations, linear
algebra, and large systems of differential equations arising in heat
flow and global climate modeling; other topics will depend on student
interest. We expect and welcome students from diverse backgrounds and
departments, and will spend time on needed background from computer
architecture, software, and numerical analysis. Most of the class will
be spent on particular parallel algorithms and implementations for
scientific problems.
Class material will be made available in several formats:
Students will do several programming assignments, a midterm (to help
those students planning to take the CS Parallelism Prelim), and a
final project (a substantial parallel programming project).
Programming assignments and the final project will be done by
``mixed'' teams of 2 or 3 students, where a mixed team has at least
one CS student and one non-CS student. This field is
interdisciplinary, with diverse knowledge of computer science and the
relevant application needed to solve a problem. This is too much for
most individuals to know, so work is typically done by
interdisciplinary teams, and it is therefore important to learn to
work with people in other disciplines. In this spirit, students must
change partners for each programming assignment, in order to get to
know as many potential final project partners as possible.
Machines available to the class include the Thinking Machines CM-5, IBM SP-1,
and a network of high performance workstations. Class accounts will be made
available early in the semester.
The most important part of the class is the final project. Students are
invited to bring their own applications to parallelize, but I will supply
a list with many suggestions. At the end of the semester we will have
a ``poster session'' where all projects will be presented.
Grades will be based on homework (25%), midterm (25%), and final
project (50%).