Spring 2012

ACMS 40212/60212: Advanced Scientific Computing

Class time: MWF 9:35pm - 10:25am.

Classroom: E.J. Debartolo Hall 311

Office hours: M, W 3:00 pm - 4:00pm, HH 226

Syllabus is here.


MPI


U1010 UNIX for beginners

OpenMP


Textbook

  • Introduction to Parallel Computing, Second Edition has been put on reserve in Math. library. The electronic version is also available online at http://link.library.nd.edu/rplow (please contact Math. librarian for access if there is a problem)
  • Sample code is at /afs/crc.nd.edu/user/z/zxu2/Public/ACMS40212-S12 on crc machine.

    Projects and Homework Assignments
    02/06/2012 Project 01
    02/28/2012 Project 02 Homework 01
    03/21/2012 Project 03
    04/12/2012 Project 04

    Final Projects Final Project Guidelines
    All-pairs Shortest Path Problem
    Document Classification
    Bacterial branching growth using diffusive Fisher equations with a cutoff
    Kinetic Monte Carlo simulation using OpenMP
    Implementing Gauss Seidel to 2D Laplace equation on GPUs

    Lecture notes
    Lecture 01 Single processor performance
    Lecture 02 Parallel programming platforms
    Lecture 03 MPI programming (part 1) , (part 2)
    Supplementary material Short notes on dynamic memory allocation , Pointer and Memory (Notes from Stanford)
    Lecture 04 Principles of Parallel Algorithm Design (part 1) , (part 2) , (part 3), (part 4)
    Supplementary material Dynamic load balancing for AMR , AMR for Front Tracking
    Lecture 05 Performance Analysis (part 1) , (part 2)
    Supplementary material Short Introduction to Makefile
    Lecture 06 Parallel Matrix Algorithms (part 1) , (part 2) , (part 3)
    Readings Scalability of parallel alg. for matrix multiplication
    Lecture 07 Advanced MPI - process topology (part 1)
    Lecture 08 Fast Linear Solvers (part 1) , (part 2) , (part 3), (part 4), (part 5), (part 6), (part 7)
    Lecture 09 Numerical PDEs (part 1) , (part 2)
    Supplementary material Debugging in Serial and Parallel, Totalview Tutorial
    Lecture 10 OpenMP (part 1), (part 2), (part 3)
    Readings Gaussian Elimination Using OpenMP , LU using OpenMP, LAPACK with OpenMP
    Readings Hybrid MPI/OpenMP , Hybrid Parallel Programming
    Lecture 11 GPU Programming(part 1), (part 2)