Computer_Science
 Home | People | Curriculum | Projects | Resources | Media

CMSC 287: High Performance Scientific Computing

Syllabus

Fall 2009

High Performance Scientific Computing covers a wide range of topics; this course will focus initially on message-passing applications, and then discuss alternatives and applications. It is anticipated that most (i.e., almost all) of the class time will be spent on collaborative lab work.

Week

Topic

Text

Lab Exercises

1

clasification of parallel architectures and approaches (e.g., Flynn's taxonomy); terms (e.g., concurrent, parallel, distributed); motivations and issues regarding parallelism; Amdahl & Gustafson Laws; CSP, CCS; benchmarking and timing; MPI overview; message passing and MPI;

1 - 2; A1

Lab 0: Installing (Ubuntu) Linux and (Open) MPI; "Hello, everyone!" in MPI

2

"brain-dead" parallelism; fractals, monte carlo applications; models for parallel computation (Petri-nets; Markov-based models; BSP; LogP and other metrics); scheduling schemes for load balancing; partitioning; matrix multiply application; divide and conquer

3 - 4
Lab 1: Hot Potato (Ring); BCCD if feasible
3

pipelining (low-level and process-level); synchronization issues, barriers, data parallelism and SIMD; scheduling and load balancing; distributed termination detection; bioinformatics application

5 - 6

Lab 2: Finding a Statistical Strategy for Playing Darts

4

shared memory concepts and issues; dependability and performability issues

7 - 8
Complete Lab 2 (due this week)
5

distributed shared memory; thread-based approaches; scientific applications
exam 1

9

Lab 3: Tuning the Dart Strategy Application Performance

6

numerical algorithms; matrix operations; linear systems; Gaussian elimination

11
Complete Lab 3 (due this week);
Term Project Proposals due
7

midterm break

8

image processing and visualization; Fourier transform and FFT (even FFTW); applications

12
Lab 4: "Cut or Copy": which yields results faster?
9

searching and optimization; genomics applications (BLAST)
exam 2

13

Complete Lab 4 (due this week)

10

message passing and interprocess communication issues

Term Project Status Reports
11

basic IPC; initialize and cleanup; send & receive; message composition

12

increasing IPC speed/efficiency: packets vs. circuits; wormhole routing; switches; theoretical limits

13

increasing IPC correctness/dependability: acks; checksums, error correcting (see cs235); theoretical limits

14

current and future trends in HPC computing (e.g., real-time, supercomputing, grand challenge problems, quantum computing); scientific, economic, other applications

Finals

term project reports & presentations

Term Project due

Schedule is tentative, and will be modified throughout the course.

Haverford College Page maintained by John Dougherty.
Computer Science Department, Haverford College.