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/19 (F): Video conference with Brandon Horton and Erick Moen (key authors of our recent virtual-reality paper)
at 5:30 pm on Oct. 19 (F) in VHE 611. Topics will include dynamic linking of mixed-reality and molecular-dynamics (LAMMPS) softwares.
- 10/22 (M): Lecture on massive dataset visualization.
- 10/24 (W): Programming graphics processing units (GPUs) using CUDA.
- 10/24 (W): Special office hour for assignment 5 at 5:00 pm in VHE 610.
- 10/26 (F): Pair distribution computation on GPU.
- 10/29 (M): HPC tour, please sign in at the reception of the 3434 Grand building at 3:50 pm sharp;
see access to 3434 Grand. Also, do not forget to bring your student photo ID, which is required to enter the building for security;
this is jointly with MASC 575 (basics of atomistic simulations of materials) students and will be
led by Prof. Ken-ichi Nomura; photo.
- 10/31 (W): Special lectures on (1) "Shift-collapse acceleration of generalized polarizable reactive molecular dynamics
for machine learning-assisted computational synthesis of layered materials (on Intel Xeon Phi)" (ScalA18)
by Kuang Liu, and (2) "Acceleration of dynamic n-tuple computations in many-body molecular dynamics (on GPU)"
(HPC Asia 2018) by Subodh Tiwari.
- 11/2 (F): Hands-on session on CUDA programming for assignment 6, part 1.
- 11/5 (M): Special lectures on "DeepCell: deep learning for single-cell biology" by Dr. Erick Moen (Caltech).
- 11/7 (W): Hybrid MPI+OpenMP+CUDA programming.
- 11/7 (W): See Digital annealing unit (DAU).
- 11/7 (W): See Deep learning at 15PF,
SC17 (ACM/IEEE, '17).
- 11/7 (W): See
Twenty things I wish I'd known when I started my PhD.
- 11/9 (F): Hands-on session on hybrid MPI+OpenMP+CUDA programming for assignment 6, part 2.
- 11/12 (M): No regular class--please work individually or by team to finalize your final-project topic,
which needs be finalized by Nov. 16 (F).
- 11/14 (W): Lecture on performance optimization.
- 11/14 (W): Special office hour for assignment 6 at 5:00 pm in VHE 610.
- 11/16 (F): Scientific applications of virtual reality + VizLab tour.
- 11/19 (M): Grid & cloud computing.
- 11/26 (M), 11/28 (W), 11/30 (F): Final project presentations; lineup;
photo with Dr. Toshimori Sekine from
- 12/12 (W): Final project report due.