Dr. Andrew Pounds,
Office: Rm. 332 Willett Science Center, (478) 301-5627
e-mail: pounds_aj@mercer.edu
Home Phone: (478) 750-9251 ( No calls after 8 PM)
Office Hours: MWF 11:00-12:00, (or by appointment)
I feel the need, the need for speed. - Maverick and Goose, ``Top Gun''
CSC 435 is a course to introduce students the foundational principles of High Performance Scientific Computing. Students in CSC 435 will be exposed to the fundamentals of single machine code optimization, as well as techniques for parallel programming. Much of the course will focus on parallel programming strategies for large scale numerical problems encountered in the sciences. The use of public domain libraries and packages for message passing and numerical computation will be demonstrated. Commercial symbolic algebra packages like Maple and MuPad will also be used in the class to develop parallel numerical algorithms..
Students taking CSC 435 are expected to have a working knowledge of a high level programming language such as C, C++, Fortran, or JAVA. All parallel coding will be done in either C or Fortran. Strategies for high performance code development and project management with these languages will be discussed during the course. Students in CSC 435 are expected to read at the college level and also have a working knowledge of differential and integral calculus. Topics from multivariable calculus, linear algebra, and differential equations will be introduced as needed.
Class Meeting Times and Locations
Lecture: TR 3:05 - 4:20 p.m., Room 306 CSB.
Course Materials
Scientific Parallel Computing, Scott, Clark and Bagheri
Scientific Calculator
Reference Material from Class Webpage ( http://theochem.mercer.edu/csc435)
Course Structure
Topics from twelve chapters of the text will be covered during the semester in the order listed on the class schedule. The lecture time will be used to expound on and augment the text, discuss problem solving strategies, and demonstrate algorithms. Students are responsible for all material covered in class as well as the material from the textual sections listed in the class schedule. Eight assignments and four projects will be submitted for grading. A midterm and a final exam will be administered per the class schedule.
Grading
Midterm ( 1 @ 100 pts) 100 pts Programming Projects (4 @ 150 pts) 600 pts Homework (4 @ 25 pts) 100 pts Programming Exercises (4 @ 25 pts) 100 pts Final Exam 100 pts Total Possible 1000 pts
The following grading scale is assured but may be slightly lowered based on test results.
A900 pts
B800 pts
C700 pts
D600 pts
F600 pts
General Information
Honor Code: All students in CSC 435 are expected to adhere to the Mercer University Honor Code. Any suspected violations will be reported to the Honor Council for further investigation.
Attendance: Attendance will be taken randomly during the semester. The attendance grade will based on the percentage of absences on the randomly chosen days. For each 10 pecentage points below 100%, the students final letter grade will drop one letter grade. At a minimum, attendance will be taken on ten days of class. Students are still accountable for all material covered in class as well as any announcements made during the lecture period.
Homework: Students are encouraged to work together on homework assignments. Each person, however, must turn in their own assignments in their own words.
Homework Grading Policy: Individual homework problems will be graded on a three point scale and the composite score from all problems on a given assignment converted to a 25 point scale. Points will be awarded as follows: 3 (essentially correct), 2 (minor errors or omissions), 1 (major errors or omissions), 0 (no effort). Homework will be considered late if it is not turned in by 5:00 p.m. on the date due. Late homework will be penalized 33% per day.
Missed Exams: Anyone missing an exam for any reason (personal illness, death in the immediate family, or other emergency) must notify Dr. Pounds in advance. The absence will be considered unexcused otherwise. Make-up exams will be individually scheduled.
Partial Credit: Partial credit will not be awarded on any exam unless individuals show their work and clearly delineate how they arrived at their answers.
Re-grading Policy: If a student suspects that an error was made in the grading of a submitted work, they may return the paper for re-grading with the understanding that the entire work will be re-graded and not only the portion in question.
Posting of Grades: Grades will not be posted. If you are curious about your cumulative grade, see Dr. Pounds.
E-mail Listserve: I maintain an e-mail listserve which I use use copiously to send information to the class and which you can use to communicate with each other. To sign up for the listserve and to learn how to send information to it, please go to: http://theochem.mercer.edu/mailman/listinfo/csc435.
American Disability Act: ``If you believe that you possess a disability for which reasonable accommodation must be made, you must consult with the instructor at the close of the initial class meeting. The instructor will refer you to the Office of the Dean of Students for evaluation, documentation of your disability, and a recommendation as to the accommodation, if any, to be provided. If you do not consult with the instructor and follow up with the Office of the Dean of Students, as instructed above, you will thereby waive any claim to a disability and the right to any accommodation pertaining thereto.''
Electronic Submission of Materials: ``Students bear sole responsibility for ensuring that papers or assignments submitted electronically to a professor are received in a timely manner and in the electronic format(s) specified by the professor. Students are therefore obliged to have their e-mail client issue a receipt verifying that the document has been received. Students are also strongly advised to retain a copy of the dated submission on a separate disk. Faculty members are encouraged, but not required, to acknowledge receipt of the assignment.''
| Week Starting | Chapter | Lecture Topics |
| January 7 |
Chapter 1 | Introduction |
| The Dusty Deck | ||
| Code Timing | ||
| January 14 |
Single Processor Tuning | |
| Performance Tuning Tools | ||
| January 21 |
Cache and Memory Optimization | |
| Loop Optimization | ||
| Numerical Libraries | ||
| January 28 |
Chapter 2 and 3 | Parallel Computers |
| Amdahl's Law | ||
| February 4 |
Chapter 5 and 7 | Introduction to MPI and Parallel Computing Languages |
| Message Passing Computing | ||
| February 11 |
Embarassingly Parallel Computations | |
| Monte Carlo Integration | ||
| February 18 |
Chapter 4 | Dependencies |
| Data Dependencies | ||
| Loop Transformations | ||
| February 25 |
Chapter 6 | Collective Operations |
| (EXAM 1 - 2/22/07) | ||
| March 4 |
SPRING BREAK | |
| March 11 |
Chapter 10 | Loop Tiling |
| Work and Data Decomposition | ||
| Locating Parallel Regions | ||
| March 18 |
Chapter 11 | Matrix Eigensystems |
| The Leslie Method | ||
| March 25 |
Parallelizing the Leslie Method | |
| Triangular Systems | ||
| April 1 |
Chapter 12 | Linear System |
| Gaussian Elimination | ||
| Special Topic | Non-linear Systems | |
| The Jacobi Method | ||
| April 8 |
Parallel Triangular Systems | |
| April 15 |
Chapter 13 | Particle Dynamics |
| Pairwise Interactions | ||
| Strategies for Breaking Dependencies | ||
| Parallel Interaction Tables | ||
| April 22 |
Chapter 15 | Sorting |
| Spatial and Parallel Sorting | ||
| Special Topic | Image Processing | |
| April 29 |
FINAL EXAM, 5/1/07, 7 p.m. | |
| (Tuesday) |