Math 671: Topics in Scientific Computation

Fall 2009

Instructor: Divakar Viswanath

Overview:
Algorithms and software are the two sides of scientific computing. The purpose of this class is to cover both in a unified manner. The FLIER gives a broad outline of the class. More specifically, we will cover the following topics:
  • Extrapolation techniques.
  • Compilation units in C, Fortran, and C++.
  • Fourier series, DFT and DCT.
  • Use of scientific libraries (FFTW).
  • Stacks, trees, hashtables and graphs.
  • IEEE arithmetic, BLAS and LAPACK.
  • Machine architecture and the x86 assembly language.
  • Mean, variance, and the Monte Carlo method.
  • OpenMP.
  • MPI.
  • Markov Chain Monte Carlo.
  • PETSc
  • Domain decomposition.
  • Interpreted languages (Python).
Time permitting we will also talk about GPUs.
Time and Place
Time: Tuesdays and Thursdays, 1:00-2:30 p.m.
Place: Ruthven 2009
Office Hours: Tuesdays and Thursday 2:30-4:00 p.m. I am generally free most afternoons after 3:00 p.m. You can drop by or call and check before dropping by.
Notes
Notes will be handed out for all lectures.
Grading
The grade will be based on four or five homeworks. The aim of the homeworks is to help you keep up with the class and no more.
Code for Aitken example:
Save this directory as "aitken" in your nyx home directory. README.txt tells you how to compile and run the code. It is important to call the directory "aitken" and put it in your home directory. See pbs.sh to understand why.
Click here and get an account on nyx.
Homework
Homework 1 (due date 15 October) ( aitken.zip and fourier.zip)
Homework 2 (due date 24 November) ( assembly.zip ) ( memory.zip)