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

**Course Number:** CSCI 653

**Section:** 30398D (lecture), 30399R (discussion)

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

**Lecture:** 3:30-4:50pm M W, WPH 102

**Discussion:** 3:30-4:20pm F, KAP 158

**Office Hours:** 4:30-5:20pm F, VHE 610

**Prerequisites:**
(1) CSCI 596 (Scientific Computing and Visualization); or
(2) basic knowledge of numerical methods (CSCI 501, PHYS 516 or equivalent) +
parallel computing (EE 451 or equivalent) +
3D graphics (CSCI 580 or equivalent).

**Textbooks:**

D. Frenkel and B. Smit,
*Understanding Molecular Simulation: From Algorithms to Applications, 2nd Ed.*
(Academic Press, 2001)--recommended

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

D. L. Chopp,
*Introduction to High Performance Scientific Computing*
(SIAM, 2019) -- recommended

W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling,
*Numerical Recipes, 3rd Ed.* (Cambridge Univ. Press, 2007)
--books available online
(C and
Fortran 90)

** Course Description **

Provide students with advanced techniques that are common to high performance computer simulations
in science and engineering. Scalable algorithms for both deterministic and stochastic simulations
of particles and continuum will be implemented on massively parallel and
distributed computing platforms, and the simulation datasets will be visualized and analyzed
in immersive and interactive virtual environment. For details, please see
course information sheet.

Visualization of divide-conquer-recombine based simulation of photoexcitated electron-hole pairs in organic solar cells.

- 8/22 (M): Class begins.
- 8/26 (F): CARC computing accounts will be requested for students registered in the first week.
- 8/26 (F): Special guest, Dr. Antonina Nazarova (USC-QCB), speaking about computational drug screening and journal cover images.
- 8/26 (F): CARC accounts have been requested for all students.
- 8/31 (W): A final-project publication by Antonina tweeted.
- 8/31 (W): A new book published: Simulation with Python, R. Li and A. Nakano (APress, 2022); special visit by Rongpeng Li.
- 9/2 (F): Please look at fast multipole method (FMM) papers in the reading list for potential discussions.
- 9/2 (F): Assignment 1 due at 11:59 pm.
- 9/5 (M): Labor Day; no class.
- 9/7 (W): Partial results of assignment 1; let's use it to brainstorm to explore synergy among these exciting projects.
- 9/7 (W): Special guest, Hikaru Ibayashi (USC), to discuss neural-network molecular dynamics.
- 9/9 (F): Inaugural CS Ph.D. social, Dijkstra's and Dissertations, at 4-6 pm in RTH 526 (food and beverage served) organized by Taufeq; register by 9/8 (Th).
- 9/12 (M): See Deep learning and physics by A. Tanaka et al. (Springer, 2021).
- 9/12 (M): Special office hour to discuss assignment 2 at 5 pm in VHE 610.
- 9/12 (M): Assignment 2 due.
- 9/20 (T) - 11/8 (T): Weekly online training on AI-driven science on supercomputers offered by Argonne National Laboratory.
- 9/23 (F): CS Ph.D. social, Dijkstra's and Dissertations, at 4:30-5:20 pm in RTH 526; register here.
- 9/23 (F): Office hour to discuss assignment 3 at 5:30 pm in VHE 610.
- 9/26 (M): Assignment 3 due.
- 10/5 (W):
Prof. Arieh Warshel interviewed by
*Nature Computational Science*. - 10/5 (W): See a tale of a Caltech alumnus and Nobel Prize in Physics 2022.
- 10/7 (F): Office hour to discuss assignment 4 at 5:15 pm in VHE 610.
- 10/10 (M): Assignment 4 due.
- 10/14 (F): Fall recess; no class.
- 10/19 (W): Special office hour to discuss assignment 5 and other topics at 5 pm in VHE 610.
- 10/21 (F): No office hour.
- 10/21 (F): Assignment 5 due.
- 10/21 (F): Seminar by Dr. Guoqing Zhou (NVIDIA) on Deep learning of dynamically responsive chemical Hamiltonians with semiempirical quantum mechanics in SSL 202.
- 10/28 (F): Virtual CARC tour by CARC director, Dr. BD Kim; please use the regular lecture Zoom ID; photo.
- 10/31 (M): Special guests, Brandon Horton and Michael Qian (Google): photo; note Google uses Hilbert space-filling curve.
- 11/3 (Th): Seminar by Prof. Giorgio Parisi (2021 Nobel physics laureate) and Prof. Marc Mezard (Univ. Bocconi Milano) on Simulation methods for spin glasses with applications in optimization at 7 am; see also Information, Physics, and Computation, M. Mezard & A. Montanari (Oxford Univ. Press, 2009).
- 11/7 (M): Please create an account at IBM Quantum before Wednesday's quantum-computing hands-on (also bring your laptop on Wednesday).
- 11/9 (W): Special office hour to discuss assignment 6 at 5 pm in VHE 610.
- 11/11 (F): Assignment 6 due.
- 11/11 (F): Veteran's Day; no class
- 11/23 (W) & 25 (F): Thanksgiving Holiday; no class.
- 12/14 (W): Final project report (GitHub repository) due.

- 8/22 (M): Course information; high-performance computing and simulations (HPCS) courses
- 8/24 (W): Introduction
- 8/26 (F): Assignment 1 discussion
- 8/29 (M): Quantum computational science (special guest: Dr. Lindsay Bassman at Lawrence Berkeley National Lab.)--photo; seminar by Prof. Seth Lloyd (MIT) on Advances in quantum machine learning
- 8/31 (W): Survey of molecular dynamics (MD): notes and slides
- 9/2 (F): Assignment 2 discussion
- 9/7 (W): Fast multipole method (FMM)--multiresolution in space: slides; minimal complex analysis; electrostatic potential around a charged line; multipole expansion of 2d Coulomb potential; fast multipole method algorithm in 2d; Multiple time stepping--multiresolution in time: slides; math quiz
- 9/9 (F): FMM details and assignment 2 revisited; Arithmetic implementation of sqrt() & floating-point performance
- 9/12 (M): Message passing interface (MPI): notes and slides
- 9/14 (W): Parallel MD algorithms: notes and slides; scalability analysis of parallel MD and FMM algorithms
- 9/16 (F): Divide-and-conquer (DC) parallelism: notes and slides
- 9/19 (M): Hypercube quick sort
- 9/21 (W): Advanced DC algorithms & assignment 3 discussion; hybrid MPI+OpenMP programming (basics)
- 9/23 (F): Final-project and paper discussions
- 9/26 (M): Hybrid MPI+OpenMP programming (advanced topics)
- 9/28 (W): Survey of quantum dynamics (QD): QD basics; spectral QD and fast Fourier transform (FFT); parallelizing QD (slides)
- 9/30 (F): Multiresolution numerical methods: slides; wavelets (Numerical Recipes, Sec. 13.10); multiresolution analysis using wavelets
- 10/3 (M): Assignment 4 discussion: parallel (asynchronous) MPI+OpenMP programming of wavelet image compression
- 10/5 (W): Advanced multiresolution methods
- 10/7 (F): Graphics processing unit (GPU) programming using CUDA
- 10/10 (M): Hybrid MPI+OpenMP+CUDA programming; parallel QD programming using MPI
- 10/12 (W): Assignment 5 discussion: triple-decker MPI+OpenMP+CUDA QD programming
- 10/17 (M): Multiscale simulation methods; Shaw's neutral-territory MD algorithm
- 10/19 (W): Load balancing: slides; Lanczos method for eigensystems (slides and supplementary notes) used in spectral bisection load balancer
- 10/21 (F): Paper discussion
- 10/24 (M): OpenMP target offload for heterogeneous data parallel computing
- 10/26 (W): Data parallel C++ (DPC++) for unified heterogeneous parallel computing on Intel DevCloud; configuring secure access
- 10/28 (F): Virtual CARC tour by CARC director, Dr. BD Kim; please use the regular lecture Zoom ID
- 10/31 (M): Optimizing parallel MD: slides; lecture note by Prof. Kathy Yelick (UC Berkeley) on memory hierarchies and matrix multiplication
- 11/2 (W): Assignment 6 discussion: open GPU programming
- 11/4 (F): Assignment 6 discussion: performance profiling
- 11/7 (M): Paper and final-project discussion
- 11/9 (W): Quantum computational science: slides; qubits and quantum circuits; quantum dynamics simulation
- 11/14 (M): Lecture on scientific data mining and machine learning; paper and final-project discussion
- 11/16 (W): Lecture on massive dataset visualization; paper discussion
- 11/18 (F): Paper discussion
- 11/21 (M): Lecture on Monte Carlo (MC) simulations: MC basics; parallel kinetic MC simulation; long time dynamics and global optimization; paper discussion
- 11/28 (M): Paper discussion
- 11/30 (W): Final-project presentations (1): see final all-star lineup
- 12/2 (F): Final-project presentations (2)