PHAS/ASTR 555B (3 Credits)
Topics in Physics & Astronomy (Spr 2006)
Parallel Computing with Mesh & Particle Methods

NOTE: Site under SERIOUS construction.  Some information below, particularly details of homeworks and lecture coverage subject to change without notice, but remains "official", to the extent possible.


Martin Snajdr msnajdr "at"
Matthew Choptuik

COURSE HOME PAGE (this page):


TUESDAY     1000 - 1120 -- HENNINGS 318
THURSDAY   0900 - 1020 -- HENNINGS 318
FIRST CLASS:  THURSDAY, JANUARY 12, 0900, Hennings 318


Course overview

This course will provide an in-depth and hands on training experience for research scientists wishing to gain experience in the use of parallel computing to solve mesh- and particle-based methods in computational science.

As this course is a Physics and Astronomy (PHAS) offering, graduate students in PHAS are apt to be especially interesed in it..

However, the instructors stress that

  1. The focus of lectures and labs will be the acquistion of knowledge and techniques applicables in virtually any discipline in which mesh-based or particle-based methods are employed.
  2. 50% of the term mark will be devoted to a term team project, with free choice of subjects via team members modulo consistency with the overall goals of this course (i.e. proficiency in the application of parallel computing resources to leading edge problems in science, engineering, medicine etc.)
  3. The course will involve case studies of extant software toolkits etc which expedite the efficient use of parallel computing.  To the extent that it makes sense, given the eventual class composition, the instructors will attempt to work in case studies from non-PHAS application domains.

In short, this course should be of interest to advanced graduates, graduates, PDFs and faculty members in a broad range of disciplines.  All are invited to participate.

Brief Syllabus by week

  1. Unix multitasking. Unix networking (discussion of all layers of Internet).
  2. Multiprocessing paradigms overview. Parallel hardware, historical, current and projected.
  3. Multiprocessing paradigms: PVM, OPEN MP, MPI
  4. Design principles for scientific computation
  5. All the MPI we NEED to know
  6. Case study: PAMR
  7. Case study: Dubinksi or equivalent astroparticle code
  8. Case study: TBA
  9. Case study: TBA
  10. Selected topics
  11. Selected topics
  12. Selected topics

Lab projects by fortnight

  • 1-2 [VN] Construction, commissioning, debugging and stabilization of 16 processor cluster from scratch.
  • 3-4 [DA] Implementation of distributed array (mesh) type using MPI
  • 5-6 [DP] Implementation of distributed particle type using MPI
  • 7-8 [DT] Design and implementation of time dependent TUTORIAL problem, from group's choice of application  using results from projects [DA] and/or [DP]

Prerequisites or corequisites

  1. Facilty with the use of Unix as a programming environment at the level of the PHYS 410 notes on the subject, available HERE, including ability to write sh (bash) scripts.
  2. Facilty with the use of at least one of C or Fortran 77 within Unix, including the use of the make utility, the use and construction of library archives.
  3. Ordinary differential equations and time-dependent partial differential equations.

Also helpful

  1. Being bilingual in C and Fortran
  2. Mixed-mode programming (C and Fortran)
  3. Knowledge of Unix multitasking primitives
  4. TCP/IP, RPC and all that
  5. Finite difference methods for partial differential equations
  6. Molecular dynamics or other particle-based experience

Grades: Labs & Term Projects

  • Bi-weekly labs: 50%
    • LAB HIGHLIGHT: "Construction" of 16 processor "Beowulf" cluster, including all software installation, network configuration etc.
  • Term projects (including brief presentation with abuse from instructors): 50%

Maintained by Supported by CIAR, NSERC, CFI, BCKDF and UBC