Introduction to performance analysis of scientific software, or “Why is my program slow?”
October 12 @ 2:00 pm - 4:00 pm
We all had this: “My program is too slow”. We all have heard: “Use Fortran and C++, they are fast.” But will it really help? We all have heard also: “Don’t bother, use Python and R on a better computer”, and “HPC clusters are fast”. But what does “better” and “fast” even mean? In this workshop, we will observe, measure and discuss performance behavior of various scientific workloads, and learn about typical performance classes and basic performance measuring methodology. In the end, you will be able to classify your expected workload and make an educated guess whether changing the programming language, upgrading the computer, or applying for cluster computing time would likely be advantageous.
Participants are expected to know the basics of programming in some (any!) programming language. Some familiarity with the Unix command line would be helpful, but is not required. If you wish to follow hands-on demonstrations, you will need to use your own computer and have a UMich account.