CSCE 564 - Computational Science - Fall 2001

Dr. Duncan A. Buell

3A01 Swearingen, 777-2880, email ID is "buell" in domain "cse.sc.edu"

Meeting time: TTH 11:00-12:15, SWR 2A19

Office hours: TTH 10:00-11:00, SWR 3A01

Teaching Assistant: Ms. Gong Re, Hours TTH 2:00-3:30, 300 Main A111

Text: Peter Pacheco, Parallel Programming with MPI, Morgan Kaufman Publishers

Strongly Recommended: Wilkinson and Allen, Parallel Programming: Techniques and applications using networked workstations and parallel computers, Prentice-Hall

Some Other Good References:

This URL is www.cse.sc.edu/~buell/csce564/csce564fall01.html

Outline for this semester

The course is officially labelled "computational science." I will make a somewhat liberal interpretation of this term. The emphasis in this course will be on parallel programming in MPI on the Beowulf machine in the Department of Computer Science and Engineering.

The course will cover a background in parallel computers, parallel programming methodologies, and concepts of parallel algorithms. This will take about four weeks. After that, we will investigate on a case study basis some applications for which parallel programs provide the speedup necessary to solve large problems in science and engineering. The case studies will include some (due to lack of time, almost certainly not all) of the following.

Tests and assignments

There will be two tests during the semester. The first exam will be on 27 September 2001.

The final exam is scheduled for Friday, 14 December 2001, at 2:00pm.

In addition to the tests and final exam, there will be several programming assignments during the semester. Programs are to be written in C. Students who are not reasonably proficient in C should take steps to bring their skills up to date. The MPI routines can be called from Fortran or from C++, and students could consider doing their projects in one of those languages. However, I will not provide advice, counsel, diagnostics, or support for either of those languages, so projects as submitted must work perfectly in order to receive consideration for a good grade.

There will also be a term project. The term project proposal will be due on Thursday, 11 October 2001. The term project itself will be due on Tuesday, 4 December 2001.

Programming assignment 1, due 4 October 2001 Postscript , pdf , dvi

Programming assignment 2, due 6 November 2001 Postscript , pdf , dvi

Programming assignment 3, due 29 November 2001 Postscript , pdf , dvi

Extra Programming assignment Postscript , pdf , dvi

Assignment on ethics and social issues, due at final exam time Postscript , pdf , dvi

The Term Project

You will be expected to do a substantial project investigating in depth some aspect of parallel or large scale computation. The choice of topic is up to you, subject to my approval. Topics could include any of the case study topics done in class. You will be required to turn in to me for my approval by 11 October 2001 a proposal of your term project. Any subsequent substantial changes to your term project will need my explicit approval after written submission of the changes to be made. It is not necessary that the term project be a programming project per se. However, projects that do not involve a substantial component of programming will be graded on a much more rigorous standard than will a programming project.

Grading scheme

The final grade will be computed on the basis of the weighted average of the scores in the two tests, the programming assignments, the term project, and the final exam. The weights will be 30% for the tests combined, 30% for the final, 20% for the programming assignments combined, and 20% for the project. The final grades will be curved, but you should expect no lower a grade than you would receive under the usual 90/80/70/60/50 scheme.

ADDITIONAL MINIMAL STANDARD: In addition to the above point distribution scheme for grades, it is to be noted that the term project is mandatory, and that "satisfactory" performance on the term project (with the definition of "satisfactory" to be determined subjectively by me) is necessary in order to receive a grade of C or better in this course. Doing well on all other parts contributing to the point total and failing to turn in a satisfactory project will lead to a grade of D or F.

Deadlines

Programming assignments will have due dates and will be turned in at the beginning of the class period on the due date. Late assignments will not be accepted without prior arrangement in case of truly extraordinary circumstances. The project will be due on Tuesday, 4 December 2001.

Academic Honesty

Assignments and examination work are expected to be the sole effort of the student submitting the work. Students are expected to follow the Code of Student Academic Responsibility. Every instance of a suspected violation will be reported. Students found guilty of violations of the Code will receive the grade of F for the course.

Lecture Notes

Notes, set 1: Postscript , pdf

Notes, set 2: Postscript , pdf

Notes, set 3: Postscript , pdf

Notes, set 4: Postscript , pdf

Notes, set 4a: Postscript , pdf

Some pages on FFTs from Quinn's book: recursive FFT , iterative FFT

Notes, set 5: Postscript , pdf

Notes, set 6: Postscript , pdf

Notes, set 7: Postscript , pdf

Professor Mascagni's notes: Postscript , pdf

Some notes on Ethical and Social Issues: Postscript , pdf

timetest program

parallel sort program

a solution, not necessarily the best solution, and with minimal comments, to assignment 1

Some links on programming issues

Unix basics

More Unix basics

Page last updated: 14 November 2001