Supercomputer Applications: A Course in Computational Science and High Performance Computing
Spring 2006
Description
Supercomputer Applications is a half-credit semester course with a suggested AP
computer science co-requisite. Students explore computational science and high
performance computing using parallel programming algorithms. The course also
introduces various scientific visualization techniques using OpenGL and computer graphics.
Students experiment with parallel computing using Message Passing Interface (MPI)
and threads with OpenMP. Parallel platforms include a Cray SV1 and a cluster (the cluster is being built).
The goal of the course is for students to investigate algorithm design in relation
to high performance computing, parallel computation, and distributed processing.
Textbook references available in the Systems Lab:
- Parallel Programming, Barry Wilkinson, Michael Allen, 2nd edition, Prentice Hall, 2005.
- Parallel Programming with MPI, Peter Pacheco, Morgan Kaufman, 1997.
- Using MPI, William Gropp, Ewing Lusk 2nd edition, MIT Press, 1999.
- Parallel Programming in OpenMP, Rohit Chandra, Academic Press, 2001.
- Scientific Parallel Computing, L. Ridgeway Scott, Princeton University Press, 2005.
- Patterns for Parallel Programming, Timothy Mattson, Addison-Wesley, 2004.
- MPI-The Complete Reference, Marc Snir, 2nd edition, MIT Press, 1998.
- OpenGL Programming Guide, Mason Woo, 3rd edition, Addison Wesley.
- OpenGL: A Primer, Edward Angel, 2nd edition, Addison-Wesley, 2004.
- Advanced Graphics Programming Using OpenGL, Tom McReynolds, 1st edition, Morgan Kaufmann, 2005.
Grading
- Programming
Assignments (70%) (MPI - C/Fortran, OpenMP - Fortran, OpenGL (C)
- Homework assignments (10%)
- Exams (20%)
Grades will be computed on a percentage basis, and the resulting percentage will
yield the letter grade for the term. The grading scale is that approved by
Fairfax County Public Schools:
A 94% - 100%
B+ 90% - 93%
B 84% - 89%
C 74% - 79%
C+ 80% - 83%
D 64% - 69%
D+ 70% - 73%
F BELOW 64%
At the end of the course, the final mark will be computed using an average
based on the two quarter grades earned.
Policies:
- Programming assignments are to be individual efforts, meaning no sharing of code or
discussion of problem solution allowed with anyone but me.
- You must turn in a working version of all programming assignments to pass the class (even if it receives no credit).
- ATTENDANCE: In accordance with TJ's policy, 3 unexecused absences results in an F for the quarter.
Also, 3 unexcused tardies to class = 1 unexcused absence.
Honor Code
You are expected to abide by the honor code. Programming assignments and
exams are individual efforts.