As discussed in class and mentioned in the syllabus, a core component of this class will be the development of individual projects using parallel scientific computing. These will be semester-long projects, broken up into multiple phases:

  1. Initial implementation in C++, C or Fortran.
  2. Shared memory parallelization (OpenMP).
  3. Distributed memory parallelization (MPI).
  4. Individual extensions.

The due dates for each of these phases will be announced in class and posted under the “Important Dates” section of the main course page.

You are welcome to work on a project of your own choosing; if you wish to do so you must meet with me to discuss whether it is appropriate for this class (hard enough, but not too hard).

Alternately, I have provided a variety of project options to choose from below. Each project will be marked with at least one of the following codes:

  • U – suitable for undergraduate students (enrolled in 4370)
  • M – suitable for Math graduate students
  • O – suitable for non-Math graduate students

For both undergraduates and non-Math graduate students these are only suggestions; Math graduate students must choose a project marked with “M”.

Monte-Carlo Integration (U,O)

Maxwell Equations (U,O)

Poisson Equation (U,O,M)

Heat Equation (U,O,M)

Brusselator (M)

ParaReal algorithm (M – only if you’ve already taken Math 6321)