Spring 2014
ACMS 40212/60212: Advanced Scientific Computing
Class time: MWF 9:25pm - 10:15am.
Classroom: 109 Pasquerilla Center
Office hours: W 4:00 pm - 5:00pm, 173 Hurley
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 |
Lecture 01.1 |
Pointers (from cplusplus.com), Pointer and Memory (Notes from Stanford) |
Short notes on dynamic memory allocation,pointer and data structure , Short Introduction to Makefile |
Additional Reading |
Software Pipelining of Nested Loops |
Rixner etal, Memory access scheduling |
Lecture 02 | Parallel Programming Platforms |
Lecture 03 | Message-Passing Programming Using MPI (Part 1), (Part 2) |
Introduction to C/C++ MPI and PBS |
Additional Reading | Tips for writing clean code |
Lecture 04 | Principles of Parallel Algorithm Design (part 1) , (part 2), (part 3), (part 4) |
Lecture 05 |
Parallel Matrix Algorithms (part 1), (part 2),
(part 3) |
Lecture 06 |
Performance Analysis |
---|
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 | Debugging in Serial and Parallel, Totalview Tutorial |
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 ,
CURAND
|
Lecture 11 |
OpenMP Programming
|
Readings |
Gaussian Elimination Using OpenMP ,
LU using OpenMP,
LAPACK with OpenMP
|