Spring 2013
ACMS 40212/60212: Advanced Scientific Computing
Class time: MWF 9:35pm - 10:25am.
Classroom: Jordan Hall of Science 310
Office hours: W 3:00 pm - 4:00pm, HH 226
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
Lecture notes
Lecture 01 |
Single processor performance |
Additional Reading |
Software Pipelining of Nested Loops |
Lecture 02 |
Parallel programming platforms |
Lecture 03 |
Message-Passing Programming Using MPI (Part 1), (Part 2) |
Supplementary material |
MPICH2 1.3.1 User Guide |
Introduction to C/C++ and MPI and PBS |
Lecture 04 |
Principles of Parallel Algorithm Design (part 1) ,
(part 2), (part 3),
(part 4)
|
Supplementary material |
Pointers (from cplusplus.com),
Pointer and Memory (Notes from Stanford)
|
Short notes on dynamic memory allocation ,
|
Supplementary material |
Dynamic load balancing for AMR , AMR for Front Tracking |
Lecture 05 |
Performance Analysis
|
Lecture 06 |
Parallel Matrix Algorithms (part 1),
(part 2),
(part 3)
|
Readings |
Scalability of parallel alg. for matrix multiplication |
Supplementary material |
Short Introduction to Makefile |
Lecture 07 |
Advanced MPI - process topology
|
Lecture 08 |
Fast Linear Solvers (part 1) ,
(part 2) ,
(part 3) ,
(part 4) ,
(part 5) ,
(part 6)
|
Supplementary material |
Walker. Parallel GMRES ,
Erhel. Parallel GMRES
|
Lecture 09 |
Numerical PDEs
|
Lecture 10 |
GPU Programming
|
GPU programming from nvidia developer centers |
Introduction to GPU Computing ,
CUDA C Programming Guide
|
Lecture 11 |
OpenMP Programming
|
Readings |
Gaussian Elimination Using OpenMP ,
LU using OpenMP,
LAPACK with OpenMP
|
Supplementary material |
Debugging in Serial and Parallel,
Totalview Tutorial
|