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:
TA: John Tran; email:; homework submission:
Lecture: 3:30-4:50pm M W, SGM 601
Discussion: 4:30-5:30pm F, KAP 156
Office Hour: 2:00-3:00pm M, VHE 611
HPC Office Hour: 2:30-5:00 pm, T, LVL 3M by Avalon Johnson
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; T. Hey and G. Papay, The Computing Universe.
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.3, 8th Ed." (Addison-Wesley, 2013)--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 a billion-atom reactive molecular dynamics simulation of cavitation bubble collapse in water on 163,840 IBM Blue Gene/P cores.