CPS5401 Fall 2014 Lectures


 

Please complete reading assignments prior to the class during which they will be discussed.

 

Date  Topic  Reading  Slides and Exercises
08/25/2014  Introduction to Computational Science    Intro to CPS 
08/27/2014  MIcroprocessors  Eijkhout pp. 11-21

Slides (slides 1-13)

Microprocessor Architecture Questions

09/03/2014 Memory Hierarchy Eijkhout pp. 21-36

Slides (slides 14-45)

Memory Hierarchy slides

09/08/2014 Multicore and the Roofline Model

Eijkhout pp. 36-47

Roofline model paper

Roofline model slides

Roofline model exercises

09/10/2014 Locality and Programming for Performance Eijkhout pp. 47-64 Exercises
09/15/2014 Programming for Performance (cont.)
   
09/17/2014 Introduction to C (taught by Henry Moncada)
Practical Programming in C at MIT
C Code Examples
09/22/2014 C and Performance

GNU gcc compiler optimization

Cache blocking for matrix algorithms

 
09/24/2014 Introduction to Fortran

Fortran90 Tutorial at MTU

Fortran90 Tutorial at Rice University

Fortran Intro slides
09/29/2014 Fortran90 in More Detail

Fortran90 Tutorial at MTU

    Arrays

    Modules

    External Subprograms and Interface Blocks

 
10/01/2014 Introduction to Python

Python videos at Software Carpentry

 
10/06/2014

NumPy and SciPy

Python Scripting as glue

SciPy.org

Slides (PDF)

Slides (PPTX)

10/08/2014 Python Scripting (cont.)   Handout
10/13/2014 Introduction to Parallel Computing  

Slides (PDF)

Slides (PPTX)

10/15/2014 Introduction to OpenMP (taught by Rogelio Long)  

Slides (PPTX)

Example codes:

  omp_hello.c

  omp_private.c

  omp_lastprivate.c

  omp_reduction.c

  omp_section.c

  omp_nested.c

10/20/2014 Introduction to MPI

Introduction to MPI at

www.citutor.org sections 1, 2, 3

Exercises 1.5, 1.6, 2.8, 2.9 
10/22/2014 MPI Point-to-Point Communication and Derived Datatypes Introduction to MPI at www.citutor.org sections 4, 5 (omit 5.4.2, 5.4.3, 5.4.5) Exercises 4.8, 5.5
10/27/2014 Group work on Lab 3
 
 
10/29/2014 MPI Collective Communication and Topologies Introduction to MPI at www.citutor.org sections 6, 7, 8  
11/03/2014 Parallel Matrix Operations using MPI  

Slides (PDF)

Slides (PPT)

11/05/2014

Cartesian Topologies

Cannon's Matrix Multiplication Algorithm

   
11/10/2014

UTEP Research Cloud

Batch Queuing Systems

   
11/12/2014 Speedup and Scalability Eijkhout 2.7.3 and 2.7.4 (online version)

Slides (PDF)

Slides (PPTX)

11/17/2014 Review   Review guide
11/19/2014 Midterm Exam    
11/24/2014

Computer Arithmetic

Numerical Linear Algebra

Dense Linear Algebra Libraries

Eijkhout

Numerical Computing with MATLAB

 

Computer Aritmetic slides

Numerical Linear Algebra slides

Dense Linear Algebra Libraries slides

11/26/2014 Using LAPACK LAPACK exercises  
12/01/2014 Numerical Sparse Linear Algebra

Eijkhout

Conjugate Gradients without the Agonizing Pain by Jonathan Skewchuk

sparse slides

Direct and Iterative methods

PETSc tutorial

12/03/2014 Review for Final  

Test 1 Answers

Additional Practice Problems (PDF)

     (Word version)