SCIENTIFIC COMPUTING & VISUALIZATION (Fall 2018)
Course Number: CSCI 596
Class Number: 30280D (lecture); 30146R (discussion)
office: VHE 610; phone: (213) 821-2657; email: firstname.lastname@example.org
TA: Kuang Liu; email: email@example.com
Lecture: 3:30-4:50pm M W, THH 208
Discussion: 3:30-4:20pm F, THH 116
Office Hour: 4:30-5:20pm F, VHE 610
HPC Office Hour: 2:30-5:00 pm T, LVL 3M
Prerequisites: Basic knowledge of programming, data structures,
linear algebra, and calculus;
A nice introduction for a non-computer science student to fill the gap:
Y. Patt and S. Patel,
Introduction to Computing Systems: From Bits and Gates to C and beyond;
A fun reading about the whole computer-science discipline: T. Hey and G. Papay,
The Computing Universe;
A survival guide for daily computational research: A. Scopatz and K. D. Huff,
Effective Computation in Physics;
Introductory courses on mathematical methods:
Methods of Computational Physics &
Mathematical Foundation of Machine Learning.
W. D. Gropp, E. Lusk, and A. Skjellum, "Using MPI, 3rd Ed."
(MIT Press, 2014)--recommended
M. Woo, et al., "OpenGL Programming Guide, Version 4.5, 9th Ed."
A. Grama, A. Gupta, G. Karypis, and V. Kumar, "Introduction to Parallel Computing, 2nd Ed."
Particle and continuum simulations are used as a vehicle to learn basic elements of high
performance scientific computing and visualization. Students will obtain
hands-on experience in: 1) formulating a mathematical model to describe a physical
phenomenon; 2) discretizing the model, which often consists of continuous differential
or integral equations, into algebraic forms in order to allow numerical solution on
computers; 3) designing/analyzing numerical algorithms to solve the algebraic equations
efficiently on parallel computers; 4) translating the algorithms into a program;
5) performing a computer experiment by executing the program;
6) visualizing simulation data in an immersive and interactive virtual environment;
and 7) managing/mining large datasets. For details, please see
course information sheet.
Visualization of 112 million-atom reactive molecular dynamics simulation to study
high-temperature oxidation of a silicon-carbide nanoparticle on 786,432 IBM Blue Gene/Q cores.
- 8/20 (M): The class begins.
- 8/22 (W): Introductory lecture.
- 8/24 (F): The class room for discussion sessions has been changed from VKC 100 to THH 116 to accomodate the expanded class.
- 8/24 (F): See HPC Wire news on
Exascale power: USC to use Aurora on materials science research and
NSF ramps quantum investment.
- 8/24 (F): Demonstration of an HPC computing node.
- 8/27 (M): See
Deep Learning by Goodfellow et al. for its mathematical, physical and computational foundations;
- 8/27 (M): Lecture on molecular dynamics (MD) basics.
- 8/29 (W): HPC accounts have been created for those who registered in the first
week; for the others, accounts have been requested today.
- 8/29 (W): Lecture on MD: Computational complexity and flop/s performance.
- 8/31 (F): Message passing interface (MPI): Getting started on HPC.
- 9/3 (M): No class (Labor Day).
- 9/5 (W): Our mixed-reality (MR) head sets have arrived;
- 9/5 (W): See Programming on Parallel Machines by Prof. N. Matloff;
see also CUDA resources at links.
- 9/5 (W): Please use Piazza for discussions.
- 9/5/(W): Lecture on MPI (1).
- 9/7 (F): Hands-on session on assignment 1.
- 9/7 (F): MR discussion with Prof. Ken-ichi Nomura during the office hour (4:30-5:20 pm).
- 9/10 (M): Lecture on MPI (2).
- 9/10 (M): Special office hour for assignment 1 at 5:00pm in VHE 610.
- 9/12 (W): Parallel computation of Pi -- scalability analysis.
- 9/14 (F): Hands-on session on assignment 2.
- 9/17 (M): Introduction to parallel MD.
- 9/17 (M): Special lecture on "Macine learning on a quantum computer" by Jeremy Liu.
- 9/17 (M): Special office hour for assignment 2 at 5:00pm in VHE 610.
- 9/19 (W): Lecture on parallel MD (1) -- basics.
- 9/19-20: AI and Quantum Computing Summit for Business
in San Francisco.
- 9/20 (Th): Meeting with NVIDIA representatives at 11:00 am in VHE 611 (led by
Prof. Ken-ichi Nomura) -- GPU experts are welcome to join the brainstorming.
- 9/21 (F): Final-project discussion.
- 9/24 (M): Lecture on parallel MD (2) -- asynchronous message passing.
- 9/26 (W): Lecture on parallel MD (3) -- communicator and in situ data analysis.
- 9/28 (F): Hands-on session on assignment 3.
- 9/28 (F): Office-hour discussion on assignment 3 at 4:30 pm in VHE 610.
- 10/1 (M): Lecture on advanced parallel MD.
- 10/3 (W): Introduction to OpenMP -- shared memory and multithreading.
- 10/5 (F): Introduction to hybrid MPI+OpenMP programming for MD.
- 10/8 (M): Hybrid MPI+OpenMP MD programming -- hands-on session on assignment 4.
- 10/10 (W): Advanced hybrid MPI+OpenMP MD.
- 10/10 (W): Special office hour for assignment 4 at 5:00pm in VHE 610.
- 10/12 (F): Final-project discussion.
- 10/15-22: HPC down.
- 10/15 (M): Lecture on visualizing molecular dynamics using OpenGL.
- 10/17 (W): OpenGL programming -- hands-on session on assignment 5.
- 10/18 (Th): Seminar on
AI superpowers: China, Silicon Valley, and the new world order by
Dr. Kai-Fu Lee.
- 10/18 (Th): See
National Quantum Initiative Act approved by the US House of Representatives &
National Strategic Overview for Quantum Information Science by the U.S. National Science & Technology Council.
- 10/19 (F): Hands-on session on VMD software.
- 10/22 (M): Lecture on massive dataset visualization.
- 10/24 (W): Programming graphics processing units (GPUs) using CUDA.
- 11/26 (M), 11/28 (W), 11/30 (F): Final project presentations.
- 12/12 (W): Final project report due.