UW AMath High Performance Scientific Computing
 
AMath 483/583 Class Notes
 
Spring Quarter, 2011

Previous topic

Overview and syllabus

Next topic

Homework

This Page

Slides from lecturesΒΆ

Slides are not included in the repository in order to keep the size down. Below are links to pdf files of the slides for each lecture for which they are available.

In each case 3 versions are provided:

  • nup1 means one slide per page, as projected in lecture,
  • nup3 has 3 slides per page with room for notes, portrait mode
  • nup4 has 4 slides per page, landscape mode

Week 1

  • Lecture 1: March 28, 2011 ... nup1 ... nup3 ... nup4
    • Overview of class, large-scale computational science, Virtual Machine
  • Lecture 2: March 30, 2011 ... nup1 ... nup3 ... nup4
    • Version control
  • Lecture 3: April 1, 2011 ... nup1 ... nup3 ... nup4
    • Mercurial examples

Week 2

  • Lecture 4: April 4, 2011 ... nup1 ... nup3 ... nup4
    • Fortran
  • Lecture 5: April 6, 2011 ... nup1 ... nup3 ... nup4
    • Fortran arrays, dynamic memory
    • Storing numbers on the computer
    • Floating point exceptions
  • Lecture 6: April 8, 2011 ... nup1 ... nup3 ... nup4
    • Floating point arithmetic
    • Functions and subroutines in Fortran

Week 3

  • Lecture 7: April 11, 2011 ... nup1 ... nup3 ... nup4
    • Fortran array storage
    • Multi-file Fortran codes, modules
  • Lecture 8: April 13, 2011 ... nup1 ... nup3 ... nup4
    • Makefiles
  • Lecture 9: April 15, 2011 ... nup1 ... nup3 ... nup4
    • Computer Architecture
    • Cache considerations

Week 4

  • Lecture 10: April 18, 2011 ... nup1 ... nup3 ... nup4
    • Fortran optimization
    • Fortran debugging
  • Lecture 11: April 20, 2011 ... nup1 ... nup3 ... nup4
    • Fortran debugging
    • Software packages
  • Lecture 12: April 22, 2011 ... nup1 ... nup3 ... nup4
    • LAPACK, BLAS
    • Intro to parallel computing

Week 5

  • Lecture 13: April 25, 2011 ... nup1 ... nup3 ... nup4
    • Amdahl’s law, speed up
    • Intro to OpenMP
  • Lecture 14: April 27, 2011 ... nup1 ... nup3 ... nup4
    • OpenMP: parallel do, private variables, nested loops, reductions
  • Lecture 15: April 29, 2011 ... nup1 ... nup3 ... nup4
    • OpenMP: loop dependencies, thread-safe functions, parallel sections, barriers,
    • Coarse vs.fine-grain parallelism

Week 6

  • Lecture 16: May 2, 2011 ... nup1 ... nup3 ... nup4
    • Fine-grain vs. coarse-grain parallelism
    • Splitting loops manually
  • Lecture 17: May 4, 2011 ... nup1 ... nup3 ... nup4
    • Adaptive quadrature, recursive subroutines
    • Nested calls to OpenMP
  • Lecture 18: May 6, 2011 ... nup1 ... nup3 ... nup4
    • MPI communicators, broadcast, reduce

Week 7

  • Lecture 19: May 9, 2011 ... nup1 ... nup3 ... nup4
    • MPI send and receive
    • Steady-state heat equation
  • Lecture 20: May 11, 2011 ... nup1 ... nup3 ... nup4
    • Steady-state heat equation
    • Iterative methods
  • Lecture 21: May 13, 2011 ... nup1 ... nup3 ... nup4
    • MPI implementation of Jacobi iteration
    • Gauss-Seidel and SOR

Week 8

  • Lecture 22: May 16, 2011 ... nup1 ... nup3 ... nup4
    • Gauss-Seidel and SOR
    • Totalview
  • Lecture 23: May 18, 2011 ... nup1 ... nup3 ... nup4
    • MPI in subroutines, Comments on HW 6
    • Plotting in Python
  • Lecture 24: May 20, 2011 ... nup1 ... nup3 ... nup4
    • GPU programming and OpenCL

Week 9

  • Lecture 25: May 23, 2011 ... nup1 ... nup3 ... nup4
    • Python concepts, objects, data types, modules
  • Lecture 26: May 25, 2011 ... nup1 ... nup3 ... nup4
    • NumPy arrays, Python functions, Iterators, booleans
  • Lecture 27: May 27, 2011 ... nup1 ... nup3 ... nup4
    • Exception handling, debugging, f2py

Week 10

  • Lecture 28: June 1, 2011 ... nup1 ... nup3 ... nup4
    • Python scripting, visualization
  • Lecture 29: June 3, 2011 ... nup1 ... nup3 ... nup4
    • Binary I/O, animation, Sage, parallel IPython