Some pointers on Scientific and High Performance Computing
UW Resources
Educational Resources and Courses Elsewhere
- HPC University
- High Performance Scientific Computing at the Courant Institute, NYU (Marsha Berger and David Bindel)
- Computational Science and Engineering program at Berkeley
- Applications of Parallel Computing, CS267 at UC Berkeley (Kathy Yelick) slides!
- Parallel Programming for Multicore CS194-2 at UC Berkeley (Kathy Yelick) slides!
- Applications of Parallel Computing, CS267 at UC Berkeley (Jim Demmel and Horst Simon) slides and video!
- NERSC Tutorials on many HPC subjects
Background on computational science and high-performance computing
- Breakthroughs 2008: Report of the panel on Recent Significant Advancements in Computational Science html pdf
- SciDAC Review, Journal reporting developments from the DOE program on Scientific Discovery through Advanced Computing (SciDAC)
Programming languages and environments
- Fortran 90/95/2003
- C++
- Python
- Enthought Python Distribution
- Dive Into Python
- Tutorial
- NumPy User Guide
- NumPy for Matlab users
- SciPy Reference Guide
- Langtangen's book
- lots of introductory slides
- The scripts and slides can also be found in the mrc08 svn repository in mrc08/references/langtangen
- Sage
- Sage webpage You can try it directly from the web, click on "Online Sage notebook" at the top of the page.
- Chapel New parallel computing language being developed at Cray.
- DUNE
- http://www.dune-project.org/dune.html Code base that does adaptive DG methods... and many other things.
Scientific software packages
- ACTS, DOE Advanced CompuTational Software
- PETSc, Portable, Extensible Toolkit for Scientific computation
- Trilinos
- Sandia's Computational Software Suite
Software development
- SCONS Software construction tool (a python based alternative to "make")
- SCons user guide
- Some examples using the SCons build engine
Parallel computing
- CSE 524 Larry Snyder's course at UW
- OpenMP webpage and some !OpenMP References?
- NERSC OpenMP tutorial
- NERSC MPI tutorial
- Dryad distributed apps on clusters of Windows servers
- Domain Decomposition Methods List of links to papers and useful websites with background information about domain decomposition algorithms.
- NY Times article by John Markoff Apple in Parallel: Turning the PC World Upside Down?
GPU programming
- GPGPU General-Purpose Computation Using Graphics Hardware
- NVIDIA CUDA
- PyCUDA
Supercomputers
- Top 500 supercomputers latest list just released June 18
- TeraGrid NSF supercomputers
- INCITE DOE program for research that's not DOE funded
- SciDAC Outreaach center with online tutorials
- Roadrunner
- ASCR publications
- High End Computing Revitalization Task Force (HECRTF) report
Verification and Validation (V&V)
Uncertainty Quantification
Reproducible research
- WaveLab and Reproducible Research paper by Buckheit and Claerbout
- Matt Schwab and Jon Claerbout's page
- EPFL Audiovisual Communications Lab page
- Slides from talk by Gentleman
- CiSE preprint by LeVeque
- ICM 2006 paper by LeVeque
- Madagascar software
- "How to encourage and publish reproducible research" by J. Kovacevic pdf
- "Reproducible research in computational economics: guidelines,
integrated approaches, and open source software", by G. Baiocchi journal
Literate programming
- Overview
- A bibliography of literate programming by N.H.F Beebe
- wikipedia
- CWEB Combines C and latex
- CWEB programs by Knuth
- Noweb
- Doxygen
- AMRITA
- Sweave ... Sweave example combines R and latex
- Brad Bell's OMhelp
- mathcode2html
Multiscale modeling and computation
- Selected sites that discuss multiscale modeling and computation (not exhaustive)
- http://www.siam.org/journals/mms.php SIAM's multiscale modeling journal
- http://www.math.princeton.edu/multiscale A list of selected multiscales papers / preprints from Princeton
- http://www.ima.umn.edu/matter/fall/challenges.html IMA multiscale workshop with viewgraphs
- http://www.acm.caltech.edu/~hou Tom Hou's web page from CalTech
- http://www.math.princeton.edu/~weinan Weinan E's web page from Princeton
Graphics and visualization
- matplotlib Python tools for 2d graphics as in Matlab
- VisIt
- MayaVi