EAS520: High Performance Scientific Computing
Department of Mathematics, UMass Dartmouth
Spring 2013, Larts Room 218, 4:30 - 5:45 PM
14 Week Tentative Schedule
EAS 520 Syllabus
- Week 1 (Jan 21 - Jan 25):
- MATLAB parallel computing toolbox.
- Embarrassingly parallel problems.
- MATLAB session in class.
- Week 2 (Jan 28 - Feb 01):
- Job submission to MATLAB cluster. Example 1.
- SPMD overview (Single program multiple data).
- 1D integral example.
- Mandelbrot example.
- MATLAB session in class.
- Week 3 (Feb 04 - Feb 08):
- Data Partitioning and Distributed Arrays.
- Local and global indices.
- Modify Mandelbrot example with distributed arrays.
- Job submission to MATLAB cluster. Example 2.
- MATLAB session in class.
- Week 4 (Feb 11 - Feb 15):
- Feb 11. Snow storm Blizzard (Nemo): No class, power outage, eat peanut butter and jelly sandwich the whole day.
- Conjugate gradient using distributed array.
- Message Passing Interface and Message Passing Functions.
- MATLAB session in class: labBroadcast, labSend, labReceive, labBarrier, ....examples
- Week 5 (Feb 18 - Feb 22):
- Simple CUDA programming in C.
- Learn about threads, blocks, grids, warps.
- Learn how to manipulate threadID, blockDIM, blockID, etc..
- Writing a simple CUDA kernel (addition of 2 vectors).
- Learn how to use and call cublas.
- Measuring Gigaflops/s of M-M multiplications (single vs double precisions).
- Unix stuff: Learn how to use module and create private modules.
- Week 6 (Feb 25 - Mar 01):
- MATLAB GPU programming
- gpuArray, arrayfun, etc...
- Mandelbrot test (GPU)
- Conjugate Gradient (GPU)
- 2D Wave Equation: utt = uxx + uyy. FD in space, LeapFrog in time.
- Week 7 (Mar 04 - Mar 08):
- Work on project 1,2,3 in class
- Week 8 (Mar 11 - Mar 15):
- Silo and VisiT
- GIT and basic Vi (by Prof. Narayan)
- Week 9 (Mar 18 - Mar 22):
- Spring Break (No Classes)
- Week 10 (Mar 25 - Mar 29):
- Iterative methods:
- Jacobi and Weighted Jacobi
- Residuals and Errors
- Example: Poisson Equation in 1D
- Week 11 (Apr 01 - Apr 05):
- Smoothing errors (High freqs damping).
- Gauss-Seidel iterative solver
- Introduction to Multigrid
- Week 12 (Apr 08 - Apr 12):
- Prolongation and Restricted operators.
- Coarse grid correction example.
- MATLAB code for 1D Poisson Equation (2 Grid).
- Ask students to modify the code for multi grid case
- Implement distributed arrays in the code.
- Week 13 (Apr 15 - Apr 19):
- April 15: Holiday. Patriots' Day. No class.
- Introduction to Fast Multipole Method.
- Discussing the 1987 Greengard and Rokhlin's paper.
- Week 14 (Apr 22 - Apr 26):
- 1D Kernel example and its Taylor Series.
- Well-separated points.
- Interval partitioning
- Week 15 (Apr 28 - May 03):
- Project discussions
- Project discussions + Q&A in class