SCIENTIFIC COMPUTING & VISUALIZATION (Fall 2017)
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 116
Discussion: 3:30-4:20pm F, VKC 100
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.
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.
Announcements
- 8/21 (M): The class begins.
- 8/25 (F): Particle-simulation demo in virtual reality (Oculus Rift and HTC Vive) platforms
at 4:30 pm in VHE 611.
- 8/25 (F): Please register by the end of Friday, so that HPC computing accounts
can be requested for all students in time for the first assignment.
- 8/29 (T): Seminar on
The convergence of machine learning, big data, and supercomputing
by Prof. Jeremy Kepner (MIT Lincoln Lab) at 10:30 am in EEB248.
- 8/29 (T): Your HPC account is ready. You should be able to log in to hpc-login3.usc.edu
using your USC ID and password. Please use the directory named as your ID under
the class directory, /home/rcf-proj/an2. Please strictly follow the guidline in the lecture pages on
how to use USC HPC cluster.
- 9/4 (M): No class; have a nice Labor Day.
- 9/6 (W): Special office hour for assignment 1 at 5:00pm in VHE 610.
- 9/6 (W): Please utilize CSCI596 on Piazza for discussions.
- 9/8 (F): HPC workshops: (1) guidance for new users (9:30-10:15 am, VPD 107);
(2) introduction to Linux, PBS and HPC (10:30 am-12:30 pm, VPD 107);
(3) introduction to HPC and cluster computing (1:30-3:30 pm, VPD 106);
registration link.
- 9/8 (F): See
Friday night experiments by Andre Geim.
- 9/13 (W): See
quantum entanglement into space.
- 9/13 (W): Fun research on Santa Monica beach: Salt and sand.
- 9/15 (F): NASA Cassini grand finale.
- 9/15 (F): Watch
Second genesis: the quest for life beyond Earth.
- 9/15 (F): Office-hour discussion on assignment 2 at 4:30 pm in VHE 610.
- 9/18 (M): (1) Lecture on parallel computation of pi +
(2) Special information session by Dr. Lijun Zhang (Caltech/NASA-IPAC).
- 9/18 (M): See Chronology of computation of pi,
and Alexander Yee's program running on
Shigeru Kondo's homemade computer;
Yee's program uses Ramanujan's series (thank you, Muye, for pointing it out), also
watch The Man Who Knew Infinity if you have a chance.
- 9/18 (M): See a lecture note on recursive evaluation of a series.
- 9/20 (W): See Hyesuk's divide-&-conquer kinetic Monte Carlo paper
for an example of scalability analysis; see also
A. Slepoy et al., A constant-time kinetic Monte Carlo algorithm for simulation of large biochemical reaction networks,
J. Chem. Phys., 128, 205101 ('08).
- 9/22 (F): Final project logistics discussion--please attend.
- 9/22 (F): See the syllabus of CSCI 699 (Extreme-scale Quantum Simulations) in Spring 2018.
- 9/22 (F): Office-hour discussion on assignment 3 at 4:30 pm in VHE 610.
- 9/25 (M): See a note on final projects.
- 9/25 (M): See Prof. Tomoyoshi Ito's new comic on
AI shogi.
- 9/27 (W): Application site for data science bootcamp at Data Incubator.
- 9/27 (W): Registration sites for the SoCal Machine Learning Symposium at USC on Oct. 6 (F)
and SoCal Data Science Conference in Pasadena on Oct. 22 (Su).
- 9/28 (Th): Seminar on Scaling machine learning performance with Moore's law by Prof. Kunle Olukotun (Stanford) at 2 pm in EEB 132; see C. De Sa et al.,
Taming the wild: a unified analysis of HOGWILD!-style algorithms, NIPS15
& F. Niu et al., HOGWILD!: a lock-free approach to parallelizing stochastic gradient descent, NIPS11.
- 9/29 (F): Watch DIY orchestra (computational music)
by Prof. Ge Wang (Stanford); see also Stanford ChucK paper,
MIT protein music paper,
and ChucK on Raspberry Pi.
- 10/4 (W): Special office hour for assignment 4 at 5:00pm in VHE 610; happy mid-autumn festival!
- 10/6 (F): Lecture on parallel partial-differential-equation (PDE) solver & final-projection discussion.
- 10/12 (Th): Seminar on Adventures with computer simulations of biomolecules in cellular environments by Prof. Michael Feig (Michigan State).
- 10/13 (F): Seminar on The future of computing by Dr. Mike Mayberry (Intel);
see Intel's vision of future computing.
- 10/13 (F): Lecture on hybrid MPI+OpenMP programming for parallel molecular dynamics & final-projection discussion.
- 10/16 (M): Special office hour for assignment 5 at 5:00pm in VHE 610.
- 10/18 (W): See IBM 5 in 5.
- 10/20 (F): HPC tour, please sign in at the reception of the 3434 Grand building at 3:20 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.
Photo with USC-CIO, Douglas Shook, and HPC director, Maureen Dougherty.
- 10/23 (M): Lecture on pair distribution computation on GPU, followed by a special lecture on Sunway TaihuLight by Youwei Zhuo.
- 10/25 (W): See IBM's
computational phase change memory (original paper);
see also Department of Energy roundtable and
popular article on neuromorphic computing.
- 10/27 (F): Call for posters (due Jan. 12, 2018) at the 2018 GPU Technology Conference (GTC);
see GTC 2016 poster by Sasan Tavakkol and a relatively recent parallel tridiagonal-system
solver by Ghosh et al. (2015) with associated software.
- 10/27 (F): Office-hour discussion on assignment 6 at 4:30 pm in VHE 610.
- 10/30 (M): Lecture on "Optimizing molecular dynamics".
- 11/1 (W): Lecture on "Visualizing molecular dynamics".
- 11/2 (Th): Seminar on "Neuro-inspired computing with emerging non-volatile memory (NVM)" by Prof. Shimeng Yu (Arizona State) at 11 am in EEB 132.
- 11/6 (M): Special lecture on "Neuromorphic computing" by Kun Yue.
- 11/6 (M)-11/13 (M): HPC down for system upgrade; the contents of /staging will be permanently erased on Nov. 6--check /staging/an2/your_ID.
- 11/8 (W): Special lecture on "Parallel processing of neural images" by Muye Zhu; see also a lecture note on
Parallel graph algorithms by Dr. Aydin Buluc (UC Berkeley).
- 11/10 (F): Office-hour discussion on assignment 7 at 4:30 pm in VHE 610.
- 11/27 (M), 11/27 (M), 11/29 (W), 12/1 (F): Final project presentations; schedule.
- 12/13 (W): Final project report due.