Fall 06  M676  Section 2  Advanced Scientific Computing

Basic info = 1st Day Hand-out
A draft syllabus


Assigments (updated on 11/05/2006)

A C++ example for dynamic memory allocation
A C++ example for storage sizes of basic types

C++ code for a user-defined Vector class
(the vector class in the Standard Template Library is not enough for math operations)
vector.hvector.cppTstVector.cpp

MPI c program examples
MPI_Ex001.cMPI_Ex002.cMPI_Ex003.c, MPI_Ex004.c, MPI_Ex005.c.lan.ps
MPI_Ex010i.cMPI_Ex011s.c,
MPI_Ex020Jacobi.cMPI_JacobiPrl.cMPI_JacobiSub.cppMPI_JacobiEx.cpp
MPI_Ex030.c, MPI_Ex031.c  MPI_Ex032w.cMPI_Ex032c.cMPI_Ex033.c

Some useful links/files
Fastest Fourier Transform in the West
fftgui -- yes, FFT, GUI
Fourier Analysis -- A chapter in "Numerical Computing with MATLAB"  written by Cleve Moler  (the  founder  of Matlab)
Wavelet Toolbox User Guide (version 3) in Matlab

Papers on cache-aware algorithms
[1]  C.Douglas, J.Hu, M.Kowarschik, U.Rüde, and C.Weiß., Cache Optimization for Structured and Unstructured Grid MultigridE. Trans. Numer. Anal., 10(2000), pp.21-40.
[2]  F.Günther, M.Mehl, M.Pögl, and C.Zenger, A Cache-Aware Algorithm for PDEs on Hierarchical Data Structures Based on Space-Filling Curves, SIAM J. Sci. Comput., 28(2006), pp.1634-1650.

CoGrid -- A 48-node beowulf parallel computer at Colorado State University
Tensor  a 128-node (256 CPUs) Beowulf cluster at Texas A&M University