ASTR 5210 - Computational Methods in Astrophysics
Index to lecture notes
ASTR 5210 notes will appear here as the course is being taught.
Lecture 1(ppt): Basics of computer design:
Von Neumann architecture and its components. Memory organization. Instruction
execution cycle.
Lecture 2(ppt): Binary representations.
Two's complement, Excess-N. Fixed and floating point arithmetic systems. IEE 754.
Lecture 3(ppt): More on IEEE 754. Exceptions.
Errors in computational science in general. Rounding modes. Mathematical
consequences including loss of associativity and distributivity.
Lecture 4(ppt): Flynn's Taxonomy. CPU
design and how it's been improved. Instruction set architectures and
how they developed. Future of CPU design.
Lecture 5(ppt): Programming paradigms.
Imperative vs declarative. Subdivisions, including procedural,
object-oriented, functional, logic. Picking the best tool for the
job.
Lecture 6(ppt): Intro to parallel computing.
Speed-up, efficiency. Parallel languages and terminology.
Lecture 7(ppt): Shared memory parallel computing
I. Issues: data dependencies and race conditions. Introduction to
OpenMP.
Lecture 8(ppt): More on OpenMP. Load balancing
and approaches needed to scale to large numbers of processors.
Lecture 9(ppt): Message passing part 1. Evolution
issues, networking and interconnects. Basics of MPI.
Lecture 10(ppt): More on MPI. Derived data-types,
domain decomposition. Cartesian shifts and communication overheads.
Lecture 11(ppt): More on MPI. One-sided operations.
Advantages over regular "handshaking".
Lecture 12(ppt): More on MPI. System-level optim
ization.
Mixed-mode programming: OpenMP+MPI
Lecture 13(pdf): Intro to R. History
(it isn't new!) and ecosystem. Getting started with the console, and
IDEs.
Lecture 14 not online
Lecture 15(pdf): More on R: Data frames, I/O,
loops, graphics, models.
Lecture 16(pdf): More on R: Functions,
matrices, user input & text processing, graphics II.
Lecture 17(pdf): HPC libraries.
Evolution from 70s to today, benefits, drawbacks.
Lecture 18(pdf): (Not given, included for reference only) Parallel HPC libraries including
scaLAPACK and PETSc. Discussion of the challenges in creating parallel libraries.
Lecture 19(pdf): Introduction to
machine & statistical learning. Inference vs prediction, training and test.
Assessing accuracy, bias and variance trade off. K nearest neighbour.
Lecture 20(pdf): Intro to support
vector machines. Hard linear, soft-margin and non-linear approaches.
Lecture 21(pdf): Intro to artificial
neural networks. McCulloch-Pitts, perceptron. Training via steepest
descent. Back propagation for multilayer networks.
Lecture 22(pdf): MapReduce and
Hadoop. Basics of MapReduce, mapper.py and reducer.py for word
counting problem. HDFS design and fault tolerance approaches. Going to
the cloud.