ECS 231, Spring 2012
Large Scale Scientific Computing


Instructor:
Zhaojun Bai
3005 Kemper Hall
530-752-4874
bai at cs.ucdavis.edu

Lecture:
11:00am - 11:50am, M.W.F.
1070 Bainer

Office Hours :

Prerequisite
ECS130 or consent of instructor. A solid knowledge of undergraduate linear algebra, and some experience with writing computer programs, such as Matlab, C and/or Fortran.

Catalog Description
Algorithms and techniques for large-scale scientific computation, including high performance computing kernels, iterative subspace projection methods, fast Fourier transform, Poisson solvers, spectral graph partition and its applications.

Goals of the Course
To learn about concepts and general techniques that are essential for modern methods, and to be able to apply them in a particular domain of large-scale scientific computation.

Syllabus
  1. Review of basic matrix operations and decompositions
  2. HPC kernels (BLAS, multicore and GPU computing)
  3. Krylov subspace projection methods
  4. Preconditioning techniques
  5. Selected topics, such as
    • Steepest descent and conjugate gradient methods
    • Graph partition and data clustering by spectral methods
    • Fast Poisson solvers

Textbook
Lecture Notes

Grading:

On-line Info:
Lecture schedule and handouts
  1. 4/2 Insturction begins
  2. 4/4 and 4/6
    • Frequently used matrix factorizations
    • Handout #2
  3. 4/9 and 4/11
  4. 4/11 and 4/13
    • Floating-point arithmetic
    • Slides
    • Handout #4
    • Professor Kahan's talk on ``Needed remedies for the undebuggability of large-scale floating-point computations in science and engineering
  5. 4/16 and 4/18
    • Performance optimization of matrix multiplication
    • The BLAS
    • Handout #5 (updated 4/20)
    • An early reference on the idea of cache blocking in the context of matrix multiply
    • A recent work on communication-optimal parallel algorithm for Strassen's matrix multiplication
  6. 4/20: Recap

  7. 4/23 Large scale linear system solvers I
    • Subspace projection methods - framework
    • Handout #6 (updated 4/25)
  8. 4/25 Large scale linear system solvers II
  9. 4/30 Large scale linear system solvers III
  10. 5/2 Large scale linear system solvers IV
  11. 5/4 Large scale eigenvalue computatiions I
    • review of basic theory
    • the power method
    • practical considerations
    • Handout #10
  12. 5/9
    • Quiz on Homework 1 and Homework 2
  13. 5/11 Large scale eigenvalue computatiions II
    • spectral transformation
    • inverse iteration
    • simultaneous iteration
  14. 5/14 Large scale eigenvalue computatiions III
  15. 5/16 Large scale eigenvalue computatiions IV
  16. 5/18

  17. 5/21, No class
  18. 5/23, Guest Lecture
    • Xiang Wang: Spectral methods for complex graphs
  19. 5/25, Guest Lecture
    • Earl Barr: Techniques and tools for engineering robust numerical software
Homeworks and projects
  1. Homework 1,
  2. Homework 2, Link to Part III of Homework 2
  3. Homework 3,
  4. Homework 4, Due May 30

Online resources:
Maintained by Zhaojun Bai, bai@cs.ucdavis.edu.