|
Computational Physics: Computing for Petascale Systems
|
|
|
Required/Elective: |
Graduate Elective Course, Credits 3 |
|
Description: |
The study of high performance computing (HPC) and the techniques used in designing and implementing computationally intensive applications on HPC systems. High performance systems including traditional parallel supercomputers, Multicore-based Linux clusters, and hardware accelerators (such as GPUs and FPGAs) will be discussed. The course will focus on parallelization and memory access optimization for computationally intensive applications in science and engineering. |
|
Textbook: |
Jack Dongarra, Ian Foster, Geoffrey Fox, William Gropp, Ken Kennedy, Linda Torczon, Andy White, Soucebook of Parallel Computing, Morgan Kaufmann/Elsevier, 2003. |
|
References: |
Michael J. Quinn, Parallel Programming in C with MPI and OpenMP, McGrawHill Higher Edu., 2004, ISBN 0-07-282256-2 Gramma, Gupta, Karypis, and Kumar, Introduction to Parallel Computing, 2nd Ed., Addison Wesley, 2003. |
|
Goals: |
Provide a hands-on course for computational science and engineering students to explore issues relating to application performance, parallel computing and programming techniques for computationally intensive applications. |
|
Prereqs by Topic: |
|
|
Topics: |
1. Introduction 2. Parallel Computer Architectures 3. Parallel Programming Considerations 16. The 2-D Poisson Problem Performance Analysis and Metrics (Chapter 5 of Gramma or Chapter 8 of Quinn) 4. General Application Issues 9. Software Technologies 10. Message Passing and Threads 11. Parallel I/O 8.9 SPRNG 12. Languages and Compilers (include UPC, CAF and StarP) 15. Tools for Performance and Debugging 17. Reusable Software and Algorithms 20. Templates and Numerical Linear Algebra 21. Software for the Scalable Solutions of PDEs (cover PETSc)
Other topics (time permitting): a) Accelerators (GPU, FPGA, Cell processors) b) Domain decomposition and graph partitioning c) Fourier Transforms in Parallel |
|
Laboratory Projects: |
Programming assignments in Fortran90/95 or C/C++ with MPI on Linux clusters |
|
Prepared by: |
Karen Tomko (ktomko@osc.edu) and Juana Moreno (moreno@phys.lsu.edu) |