Home | Syllabus | Lectures | Readings | Assignments | Codes | Links |
---|

**Course Number:** CSCI 596

**Class Number:** 30280D (lecture); 30146R (discussion)

**Instructor:**
Aiichiro Nakano;
office: VHE 610; phone: (213) 821-2657; email: anakano@usc.edu

**TA:** Kuang Liu; email: liukuang@usc.edu

**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.

**Textbooks:**

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."
(Addison-Wesley, 2016)--recommended

A. Grama, A. Gupta, G. Karypis, and V. Kumar, "Introduction to Parallel Computing, 2nd Ed."
(Addison-Wesley, 2003)--recommended

** Course Description **

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; book website.
- 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; see information.
- 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 HPSTAR-Shanghai.
- 12/12 (W): Final project report due.