Date |
Topic |
Materials |
08/27/2013 |
Computational Science Linux |
Intro to Computational Science slides Intro to Linux slides Exercises matmult.c Textbook Preface and Introduction |
08/29/2013 |
Linux Details Shell Scripting |
Shell Scripting slides Shell Scripting practice Textbook Chapter 18 |
09/03/2013 | Fortran Intro |
Examples: factorial.f90 sieve.f90 |
09/052013 |
Fortran90 Details Make |
Fortran90 Tutorial at MTU Fortran90 Tutorial at Rice Textbook Chapter 20 |
09/10/2013 | Introduction to C |
Practical Programming in C at MIT Introduction to C slides by Fred Kuhns
|
09/12/2013 | Introduction to C++ |
C++ Tutorial at cpluscplus.com Introduction to C++ at MIT Object-Oriented Programming videos at Software Carpentry |
09/17/2013 (no formal class meeting; work on your own) |
Introduction to Python |
Watch Python videos at Software Carpentry Do the exercises at http://www.codeacademy.com/learn (Click on Python) |
9/19/2013 | Source Code Control |
Textbook Chapter 21 Watch Version Control videos at Software Carpentry Source Code Control with Subversion by Umayanganie Munipala |
09/24/2013 | Von Nuemann architecture, modern floating point units, pipelining, ILP |
Textbook Chapter 1 sections 1.1-1.2 CPU Design and Its Effects on Performance by Dr. Arunagiri |
09/26/2013 |
Multicore architectures locality and data reuse |
Textbook Chapter 1 sections 1.4 -1.5 Multicore slides by Dr. Arunagiri |
10/01/2013 |
Power consumption of microprocessors and roofline model |
Textbook Chapter 1 sections 1.6-1.7 Roofline Model by Dr. Arunagiri The presentations referenced in the lectures are Power Consumption of Microprocessors and Roofline Model.
|
10/03/2013 |
Memory hierarchies |
Textbook Chapter 1 section 1.3 |
10/08/2013 | Introduction to Parallel Computing |
Textbook Chapter 2 sections 2.1-2.3 |
10/10/2013 |
More on memory hierarchy | Slides |
10/15/2013 | Shared memory programming with OpenMP |
Textbook Chapter 2 section 2.5.2 Parallel Computing Explained Introduction to OpenMP |
10/17/2013 | Distributed memory programming with MPI |
Introduction to MPI MPI Example 1 example1.c |
10/22/2013 |
More MPI Hybrid MPI+OpenMP Programming |
Intro to MPI at Dartmouth Example code: hello-hybrid.c Example code: jacobi_mpiomp.f90 Input file: indata Example code: mmm-upc.c |
10/24/2013 |
Introduction to GPU Programmiing Midterm Review |
Introduction to GPU Programming slides Introduction to OpenACC slides |
10/29/2013 | Midterm Exam | |
10/31/2013 |
Amdahl's Law Profiling
Using compiler optimization |
|
11/05/2013 | Serial code optimization |
GCC Auto-vectorization webpage |
11/07/2013 |
Block matrix algorithms PAPI |
Automatic Blocking of Nested Loops by Schreiber and Dongarra Intro to PAPI slides PAPI website |
11/12/2013 |
Computer Arithmetic Computational Linear Algebra |
Computer arithmetic slides Computational linear algebra slides Dense linear algebra libraries |
11/14/2013 |
Sparse Linear Algebra Iterative Methods |
sparse slides iterative method slides |
11/19/2013 | No class - work on projects | |
11/21/2013 | No class - work on projects | |
11/26/2013 |
More sparse linear algebra PETSc |
Conjugate Gradients without the Agonizing Pain by Jonathan Skewchuk |
12/03/2013 | Heat Equation project | |
12/05/2013 |
Fast Fourier Transform Review for Final |
FFT slides |