Oct. 6 — The Blue Waters project and the University of Illinois, Champaign-Urbana are offering an online course on Designing and Building Applications for Extreme Scale Systems for graduate students and are seeking other university partners that are interested in offering the course for credit to their students. The course includes online video lectures, and quizzes and homework assignments with access to accounts on the NSF supported Blue Waters supercomputer.
Participating institutions will need to provide a local instructor that will be responsible for advising the local students and officially assigning grades. Students will complete the online course quizzes and exercises as part of their grade and can then undertake a final group project supervised by the local instructor. A description of the course requirements and links to example materials are provided below.
CS 598: Designing and Building Applications for Extreme Scale Systems
Learn how to design and implement applications for extreme scale systems, including analyzing and understanding the performance of applications, the primary causes of poor performance and scalability, and how both the choice of algorithm and programming system impact achievable performance. The course covers multi-and many-core processors, interconnects in HPC systems, and parallel I/O.
Students should have a strong knowledge of C, C++, or Fortran, including writing, debugging, and optimizing an application. Some parallel programming experience is desirable. An understanding of basic computer architecture is strongly recommended.
The instructor for this course is William Gropp, professor of Computer Science at the University of Illinois at Urbana-Champaign. Dr. Gropp’s website can be found at http://www.cs.illinois.edu/~
Material from last year’s course is available at http://wgropp.cs.illinois.edu/
Many problems in the sciences require more computing power and I/O performance than is available on all but the largest machines. Using these systems effectively requires a quantitative approach to performance, applied from the selection of model and algorithm to the choice of programming languages and libraries. This course will introduce students to the features of extreme scale systems and how to use performance modeling to design, implement, and tune large-scale applications in simulation and data-intensive science.
Tentative Weekly Schedule
- Introduction to large scale systems (1 week)
- Overview of extreme scale systems
- Quantifying performance
- Understanding Performance – Single Core (4 weeks)
- Impact of memory on performance
- Performance models and estimation
- Parallelism on a Node (2 weeks)
- Thread parallelism with OpenMP and pthreads
- Memory models, correctness, and performance
- Distributed memory systems and extreme scale (5 weeks)
- MPI programming for extreme scale systems
- I/O at Scale (2 weeks)
- I/O Models and Semantics
- I/O strategies
- Programming systems and libraries for I/O
There are no textbooks that cover this material. There are, however, a number of good papers as well as books that cover parts of the material. These will be posted on the course website.
About the Instructor
William Gropp holds the Thomas M. Siebel Chair in the Department of Computer Science and is the Director of the Parallel Computing Institute and Chief scientist of the National Center for Supercomputing Applications at the University of Illinois in Urbana-Champaign. He received his Ph.D. in Computer Science from Stanford University in 1982 and worked at Yale University and Argonne National Laboratory. His research interests are in parallel computing, software for scientific computing, and numerical methods for partial differential equations. He is a Fellow of ACM, IEEE, and SIAM and a member of the National Academy of Engineering.
The Extreme Science and Engineering Discovery Environment (XSEDE) is the most advanced, powerful, and robust collection of integrated advanced digital resources and services in the world. It is a single virtual system that scientists can use to interactively share computing resources, data, and expertise. XSEDE accelerates scientific discovery by enhancing the productivity of researchers, engineers, and scholars by deepening and extending the use of XSEDE’s ecosystem of advanced digital services and by advancing and sustaining the XSEDE advanced digital infrastructure. XSEDE is a five-year, $121-million project and is supported by the National Science Foundation.