SCIENTIFIC COMPUTING AND VISUALIZATION (Fall 12)
Course Number: CSCI 596
Class Number: 30280D
office: VHE 610; phone: (213) 821-2657; email: firstname.lastname@example.org
Lecture: 3:30-4:50pm M W, ZHS 163
Office Hours: 3:30-4:50pm F
Prerequisites: Basic knowledge of programming, data structures,
linear algebra, and calculus.
W. D. Gropp, E. Lusk, and A. Skjellum, "Using MPI, 2nd Ed."
(MIT Press, 1999)--recommended
M. Woo, et al., "OpenGL Programming Guide, Version 3.0 and 3.1, 7th 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.
Visualization of 209 million-atom simulation of hypervelocity impact on
a high-strength ceramic plate on a tiled display.
- Basic molecular dynamics (MD) algorithms
- Integration of ordinary differential equations; periodic boundary
condition; linked-list cells
- Parallel MD
- Spatial decomposition (interprocessor caching and migration);
load balancing; scalability analysis; asynchronous MD
- Message passing interface (MPI) vs. shared memory (OpenMP) programming
- Hybrid MPI+OpenMP programming
- Build-it-yourself PC cluster
- Multicore parallel programming (e.g., GPU-CUDA, Cell)
- Grid/cloud scientific computing
- Computation steering on the Grid/cloud--integrated parallel computing, data
storage, and visualization resources via high-speed networks
(e.g., Globus, Grid RPC, MapReduce)
- Grid/cloud enabling parallel applications
- Scientific visualization
- OpenGL programming
- Virtual environment programming--CAVE Library, ImmersaDesk, tiled display
- Scientific data management/mining
- Data compression for scalable I/O
- Graph-based knowledge discovery
- Object-oriented scientific programming
- Parallel software tools for irregular data structures;
object-oriented MD; scripting wrappers
- Other simulation methods
- Stochastic simulations: Monte Carlo method
- Continuum simulations: Schrodinger equation in quantum mechanics
- 8/27/12 (M): The class begins.
- 8/31/12 (F): Please register for the course by this date to obtain a computer account needed for assignments.
- 9/10/12 (M): See the topics at the workshop on
Machine Learning in Atomistic Simulations (Sep. 10-12, 2012, Lugano, Switzerland).
- 9/12/12 (W): See GPU Technology Conference: GTC 2013
(Mar. 18-21, 2013, San Jose, CA); also
Efficient molecular dynamics on heterogeneous architectures in GROMACS by B. Hess and S. Pall at GTC2012.
- 9/17/12 (M): See CUDA Fortran compiler.
- 9/17/12 (M): Seminar by Prof. Uwe Bergman (SLAC-Stanford) on
"Science at LCLS - A First Summary".
- 9/19/12 (W): Your HPC account is now ready, and your directory has been created under /home/rcf-proj/csci596.
- 9/21/12 (F): Discussion session for assignment 1 at 3:30pm in VHE 610.
- 9/28/12 (F): Discussion session for assignment 2 at 4:00pm in VHE 610.
- 10/3/11 (W): HPCC tour, please be at the entrance of 3434 Grand building at 3:40 pm sharp;
see access to 3434 Grand.
Also, do not forget to bring your student ID;
photo 1; photo 2.
- 10/12/12 (F): Discussion session for assignment 3 at 4:30pm in VHE 610.
- 10/19/12 (F): Discussion session for assignment 4 at 3:30pm in VHE 610.
- 11/2/12 (F): Discussion session for assignment 5 at 3:30pm in VHE 610.
- 11/13/12 (T): Discussion session for assignment 6 at 5:00pm in VHE 610.
- 11/19/12 (M): CACS Viz Lab tour.
- 12/5/12 (W): Final poster presentation, 3:30-4:50 pm in MHP 101, refreshments will be served;
see posters from last year's class;
please prepare a poster using
the Powerpoint template (24" by 36"),
print it to a PDF file, and email the PDF file to email@example.com
with the subject line: Poster Printing for CSCI 596, so that the Computer Science Department
can print its hard copy (you need to allow 5 business days for printing by the CS Department).
- Basic molecular dynamics algorithm;
linked-list cell MD algorithm;
- Message Passing Interface;
- Parallel computation of Pi
- Parallel MD algorithm;
Shaw's NT algorithm
- Hybrid MPI+OpenMP parallel MD
- Visualizing molecular dynamics;
- Pair distribution computation with CUDA;
see also B. G. Levine, et al.,
J. Comput. Phys. 230, 3556 ('11)
- Grid computing
- Virtual-reality programming
- Massive data visualization, see also:
A. Sharma, et al.,
Presence 12, 85 ('03);
C. Zhang, et al.,
Comput. Phys. Commun. 175, 339 ('06)
- Optimizing molecular dynamics
- Advanced topics in parallel molecular dynamics
- Metascalable divide-and-conquer algorithmic framework
- Miscellaneous lectures
- MSCS-HPCS program: Master of Science in Computer Science
with specialization in High Performance Computing and Simulations; see also
- Debugging a MPI program
- Installing OpenGL and GLUT; see also
how to use OpenGL and GLUT with Microsoft Visual Studio
- Lecture note by Prof. James Demmel (UC Berkeley) on
memory hierarchies and processor features, case study: tuning matrix multiply
- See J. Mellor-Crummey, et al.,
Int'l J. Parallel Prog. 29, 217 ('01);
B. Moon, et al.,
IEEE Trans. Knowledge Data Eng. 13, 124 ('01);
M. Frigo, et al., in
Proc. of 40th Symp. on Foundation of Computer Science (FOCS) (IEEE, '99)
- 1: Message Passing Interface (due Wednesday, Sep. 26);
see also a book chapter on "hypercube algorithms"
by Ian Foster (Argonne National Laboratory/Univercity of Chicago)
- 2: Parallel computation of Pi (due Wednesday, Oct. 3)
- 3: Parallel molecular dynamics (due Monday, Oct. 15)
- 4: Hybrid MPI+OpenMP parallel molecular dynamics
(due Wednesday, Oct. 24)
- 5: Animating molecular dynamics (due Monday, Nov. 5);
for parallel visualization of MD data mentioned in assignment 5, see:
A. Sharma, et al.,
Presence 12, 85 ('03);
C. Zhang, et al.,
Int'l J. Comput. Sci. 1, 407 ('07);
for tensor-field visualization, see:
L. Hesselink, et al.,
IEEE Computer Graphics & Applications 14, 76 ('93),
W. Ribarsky, et al.,
IEEE Computer 27(7), 57 ('94),
A. Sigfridsson, et al.,
IEEE Visualization 2002, (IEEE, 2002) p. 371
- 6: Pair distribution computation with CUDA (due Wednesday, Nov. 14)
- Final project (poster presentation on Wednesday, Dec. 5);
Powerpoint poster template (24" by 36");
- Sequential MD program: md.c, md.h, md.in
- Linked-list cell MD program: lmd.c, lmd.h, lmd.in
- MPI basics: mpi_simple.c, mpi_comm.c, irecv_comm.c, mpi_simple_sample.pbs
- Parallel MD program: pmd.c, pmd.h, pmd.in
- OpenMP basics: omp_example.c, omp_example_set.c, omp_pi_critical.c, omp_pi.c
- Hybrid MPI+OpenMP: hpi.c
- Visualizing MD simulation: atomv.c, atomv.h, md.conf
- CUDA basics: pi.cu, pdf0.c, pos.d
- Quantum dynamics: qd.c, qd.h, qd.in; qd1.c, qd1.h, qd1.in
- Message Passing Interface (MPI)
- Parallel Computing
- Network/Grid/Cloud Scientific Computing
- Virtual Reality/Visualization
- CAVE programming
at Electronic Visualization Laboratory at University of Illinois at Chicago
- IEEE Virtual Reality Conference
- ACM SIGGRAPH Conference
- IEEE VisWeek
Visual Molecular Dynamics at University of Illinois at Urbana-Champaign
Atomsviewer: A scalable molecular visualization code
- VisIT visualization tool
at Lawrence Livermore National Laboratory
- ParaView parallel visualization application
at Los Alamos National Laboratory
- VISTA scalable volume renderer
at Sandiego Supercomputing Center
- Scientific Object Oriented Programming
- Linux Cluster
- Supercomputing & Information Technology for Science & Engineering
- Computational Science
- Numerical Methods