SCIENTIFIC COMPUTING & VISUALIZATION (Fall 2017)
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 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.
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/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);
- 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
- 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.