.. _biblio: ============================================================= Bibliography and further reading ============================================================= Many other pages in these notes have links not listed below. These are some references that are partiuclarly useful or are cited often elsewhere. .. _biblio_books: Books ----- .. [Lin-Snyder] C. Lin and L. Snyder, *Principles of Parallel Programming*, 2008. .. [Scott-Clark-Bagheri] L. R. Scott, T. Clark, B. Bagheri, *Scientific Parallel Computing*, Princeton University Press, 2005. .. [McCormack-scientific-fortran] D. McCormack, *Scientific Software Development in Fortran*, Lulu Press, ... `ebook `_ ... `paperback `_ .. [Rauber-Ruenger] T. Rauber and G. Ruenger, *Parallel Programming For Multicore and Cluster Systems*, Springer, 2010 ... `book `_ ... `ebook `_ .. [Chandra-etal-openmp] R. Chandra, L. Dagum, et. al., *Parallel Programming in OpenMP*, Academic Press, 2001. .. [Gropp-Lusk-Skjellum-MPI] W. Gropp, E. Lusk, A. Skjellum, *Using MPI*, Second Edition, MIT Press, 1999. `Google books `_ .. [Snir-Dongarra-etal-MPI] M. Snir, J. Dongarra, J. S. Kowalik, S. Huss-Lederman, S. W. Otto, D. W. Walker, *MPI: The Complete Reference (2-volume set)* , MIT Press, 2000. .. [Dive-into-Python] M. Pilgram, *Dive Into Python*, ``_. .. [Python] G. van Rossum, *An Introduction to Python*, ``_ .. [Langtangen-scripting] H. P. Langangen, *Python Scripting for Computational Science*, 3rd edition, Springer, 2008. `book and scripts `_ ... `lots of slides `_ .. [Langtangen-Primer] H. P. Langtangen, *A Primer on Scientific Programming with Python*, Springer 2009 `What's the difference from the previous one? `_ .. [Goedecker-Hoisie-optimization] S. Goedecker and A. Hoisie, *Performance Optimization of Numerically intensive Codes*, SIAM 2001. .. [Matloff-Salzman-debugging] N. Matloff and P. J. Salzman, *The Art of Debugging with GDB, DDD, and Eclipse*, no starch press, San Francisco, 2008. .. [Overton-IEEE] M. Overton, *Numerical Computing with IEEE Floating Point Arithmetic*, SIAM, 2001. .. [Eijkhout] V. Eijkhout, *Introduction to High-Performance Scientific Computing*, `[link to book and slides] `_ .. _other_courses: Other courses with useful slides or webpages --------------------------------------------- .. [software-carpentry] Greg Wilson, ``_ See :ref:`software_carpentry` for links to some useful sections. .. [Reynolds-class] Dan Reynolds, SMU ``_. .. [Snyder-UW-CSE524] Larry Snyder, `UW CSE 524, Parallel Algorithms `_ .. [Gropp-UIUC] William Gropp `UIUC Topics in HPC `_ .. [Yelick-UCB] Kathy Yelick, `Berkeley course on parallel computing `_ .. [Demmel-UCB] Jim Demmel, `Berkeley course on parallel computing `_ .. [Kloekner-Berger-NYU] Andreas Kloeckner and Marsha Berger, `NYU course `_ .. [Berger-Bindel-NYU] Marsha Berger and David Bindel, `NYU course `_ .. [LLNL-HPC] `Livermore HPC tutorials `_ .. [NERSC-tutorials] `NERSC tutorials `_ .. [HPC-University] ``_ .. _biblio_links: Other Links ----------- Software ----------------------------------- .. seealso:: :ref:`software_installation` for links to software download pages. .. [CosmicProject] `links to open source Python software `_ .. _biblio_vm: Virtual machine references ----------------------------------- .. [VirtualBox] ``_ .. [VirtualBox-documentation] ``_ .. _biblio_sphinx: Sphinx references ----------------------------------- .. [sphinx] ``_ .. [sphinx-documentation] ``_ .. [sphinx-rst] ``_ .. [rst-documentation] ``_ .. [sphinx-cheatsheet] ``_ .. [sphinx-examples] ``_ .. [sphinx-sampledoc] ``_ .. _biblio_python: Python: ----------------------------------- .. [Python-2.5-tutorial] ``_ .. [Python-2.7-tutorial] ``_ .. [Python-documentation] ``_ .. [Python-3.0-tutorial] ``_ (we are *not* using Python 3.0 in this class!) .. [IPython-documentation] ``_ (With lots of links to other documentation and tutorials) .. [IPython-notebook] ``_ .. [Python-pdb] `Python debugger documentation `_ .. [IPython-book] Cyrille Rossant, *Learning IPython for Interactive Computing and Data Visualization*, Packt Publishing, 2013. ``_. .. _biblio_numpy: Numerical Python references ----------------------------------- .. [NumPy-tutorial] ``_ .. [NumPy-reference] ``_ .. [NumPy-SciPy-docs] ``_ .. [NumPy-for-Matlab-Users] ``_ .. [NumPy-pros-cons] ``_ .. [Numerical-Python-links] ``_ .. _biblio_unix: Unix, bash references ----------------------------------- .. [Reynolds-unix] `Dan Reynolds unix page `_ has good links. .. [Wikipedia-unix-utilities] ``_ .. [Bash-Beginners-Guide] ``_ .. [gnu-bash] ``_ .. [Wikipedia-bash] ``_ .. [wikipedia-tar] ``_ (tar files) .. _biblio_vcs: Version control systems references ----------------------------------- .. [wikipedia-revision-control] ``_ .. [wikipedia-revision-control-software] ``_ .. _biblio_git: Git references ----------------------------------- .. [git-try] `Online interactive tutorial `_ .. [git-tutorials] List of 10 tutorials ``_ .. [gitref] ``_ .. [git-book] Git Book ``_ .. [github-help] Github help page: ``_ .. [git-parable] ``_ Mercurial references ----------------------------------- .. [hgbook] ``_ .. [hg-faq] ``_ .. _biblio_repro: Reproducibility references ----------------------------------- .. [sci-code-manifesto] `Science Code Manifesto `_ .. [icerm-workshop] `Links from a recent workshop on the topic `_ .. [winter-school] `A recent Winter School on the topic in Geilo, Norway: `_ .. _biblio_fortran: Fortran references ----------------------------------- Many tutorials and references are available online. Search for "fortran 90 tutorial" or "fortran 95 tutorial" to find many others. .. [Reynolds-fortran] Dan Reynolds fortran page ``_ .. [Shene-fortran] C.-K. Shene's Fortran 90 tutorial ``_ .. [Dodson-fortran] Zane Dodson's Fortran 90 tutorial ``_ .. [fortran-tutorials] Links to a few other tutorials ``_ .. [advanced-fortran] Kaiser, Advanced Fortran 90 ``_ .. _biblio_make: Makefile references ----------------------------------- .. [carpentry-make] ``_ .. [gnu-make] ``_ .. [make-tutorial] ``_ .. [Wikipedia-make] ``_ .. _biblio_computer_arch: Computer architecture references ----------------------------------- .. [wikipedia-computer-architecture] ``_ .. [wikipedia-memory-hierachy] ``_ .. [wikipedia-moores-law] ``_. Floating point arithmetic ----------------------------------- .. [Arnold-disasters] Doug Arnold's descriptions of some disasters due to bad numerical computing, ``_ Languages and compilers ----------------------------------- .. [wikipedia-machine-code] ``_ .. [wikipedia-assembly] ``_ .. [wikipedia-compilers] ``_ .. _biblio_openmp: OpenMP references ----------------------------------- .. [Chandra-etal-openmp] R. Chandra, L. Dagum, et. al., *Parallel Programming in OpenMP*, Academic Press, 2001. .. [Chapman-Jost] B. Chapman, G. Jost, R. van der Pas, *Using OpenMP: Portable Shared Memory Parallel Programming*, MIT Press, 2007 .. [openmp-RR] Section 6.3 and beyond of [Rauber-Ruenger]_ .. [openmp.org] ``_ contains pointers to many books and tutorials. .. [openmp-specs] ``_ has the latest official specifications .. [openmp-llnl] ``_ Livermore tutorials .. [openmp-gfortran] ``_ .. [openmp-gfortran2] ``_ .. [openmp-refcard] `OpenMP in Fortran Reference card `_ .. _biblio_mpi: MPI references ----------------------------------- .. [openmp-RR] Chapter 5 of [Rauber-Ruenger]_ See also [Gropp-Lusk-Skjellum-MPI] and [Snir-Dongarra-etal-MPI] See :ref:`mpi` for more references. Exa-scale computing ----------------------------------- .. [exascale-doe] `Modeling and Simulation at the Exascale for Energy and the Environment, DOE Town Hall Meetings Report `_ .. [exascale-sc08] ``_ -------------- **More will be added, check back later**