From a user perspective, supercomputers are more complicated to program and handle than an ordinary desktop workstation. Unfortunately this leads to parallel programs that do not necessarily satisfy the performance expectations of the users. Such unexpected performance results can have many reasons. Basic knowledge on performance modeling, prediction and verification, as taught in this summer school, is needed by users to formulate and verify their performance expectation.
The goals for this class are:
– Motivating the need for performance considerations
– Establishing a common performance vocabulary
– Learning the standard situations/parameters to have an eye on
– Getting to know the tools that provide insight
– Establishing a higher throughput of experiments
– Running bigger experiments
A rough table of content for the class looks as follows:
Day 1: Performance Engineering (theory + examples)
Day 2: Easy to use workflows (the first step, with very low burden, mostly automated) at IU
Day 3: Usage of advanced tools (profile- and trace-based) at IU
Day 4: Tuning of hybrid programs (message passing, threading, accelerators)
Day 5: Theoretical considerations (Experimental design, performance modeling)
The class contains lectures and labs so that the participants immediately put the newly acquired knowledge to work.
Prerequisites: Basic programming and command line skills on Linux systems
Registration Fee: $100.00
Fee details: Free for affiliates from UCLA (student, faculty and staff), $100 per participant otherwise.