.. _slides: ===================== 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