- Weeks 0, 1, and 2
- An overview of parallel computing, motivation for
using parallel computing, suitable problems.
Information on student accounts, use of PPL URL.
Presentations by prospective project mentors on their research.
Students submit a problem statement describing their project
by the end of the second week.
- Week 3
- Using Unix workstations: Unix directory structures, e-mail,
network news, ftp, remote logins, using Unix make.
Producing documents using
and LaTeX2html.
- Weeks 4 and 5
- Designing efficient parallel solutions to problems:
the concept of an algorithm, design and analysis of sequential
algorithms, design and analysis of parallel algorithms, performance
analysis of a program, optimizing the performance of a parallel
program.
Tour of the Parallel Processing Lab. Introduction to the setup.
Initiating a login session to use the parallel machine. Introduction
to the programming environment.
Intro to the environment at NCSA.
Students turn in a preliminary report with the solution
design for their project.
- Weeks 6 and 7
- Taxonomy of parallel computers. Vector Processors,
SIMD computers, MIMD computers, suitability of machines
for different problem types.
Student presentations of their problem-statement and solution design.
- Week 8
- The distributed memory, message passing architecture versus
the shared memory architecture.
Writing programs for the above architectures.
- Weeks 9 and 10
- Software issues: parallelizing compilers, parallel
debuggers, integrated program development environments, graphical user
interfaces and their effects
on the efficiency of program development.
- Week 11
- Scientific Visualization using tools like Mathematica,
Matlab, XImage, XCollage, GVL.
- Week 12 and 13
- Hardware issues: interconnection networks,
parallel computer architecture issues and their effect on program
development.
- Week 14
- End semester in-class presentation of project results.
Submission of project report.