### Course Announcement

## CS 594, 27919 -- Applications of Parallel Computers

*Professor
Jack Dongarra*
**Spring 1994 3 credits**

Modern problems in science and engineering, such as structural engineering,
fluid mechanics, molecular dynamics, and other large
scale physical simulations rely on high performance computing to make progress.
These problems are so enormous as to swamp the computational power of
conventional computers, so parallel computers must be used.

This course is intended to equip students to use existing parallel computing
systems to effectively solve these and related problems. We invite
students from Computer Science, Engineering, Mathematics, Physics,
Chemistry and other disciplines where these large computing problems arise.

Since we expect students of widely varying backgrounds, we will discuss
parallel computer architecture and software as well as algorithms
exploiting these architectures effectively. We plan to organize the
class around group projects, each of which would implement an interesting
application on one or more parallel machines. Computer time will be
available on several different machines, possibly including
shared memory machines (Sequent and Kendall Square Research)
and distributed memory machines (Paragon and Thinking Machines CM-5).

The course will broadly address the topic of parallel numerical computation.
Areas to be covered include a description of different
types of parallel architectures;
the development of parallel algorithms
for solving important numerical problems, and software tools intended
to aid implementation of parallel numerical computation.
It is assumed that the students have some
knowledge of numerical computations.

An outline of the topics to be covered (not in order) includes:

- Types of Parallel Computers: Vector computers, shared and distributed memory
multiprocessors, processor arrays and data flow computers.
- Parallel Numerical Algorithms for systems of linear equations.
- Software tools for Parallel Numerical Computations.

Course work will consist primarily of reading and discussing current research
paper in the areas outlined above and the use of the software
tools on a number of parallel computers.