This course is organized by the Swedish e-Science Education program (SeSE).
Credits: 5hpThe course consists of three parts - self reading, lectures and labs, and project preparation. The lectures and the labs will be given at the Department Information Technology, Uppsala University.
As preparation for the course, we ask you to review the literature. Reading this material in full is much than a single week of work, but we will expect you to be somewhat familiar with what the intended scope is of the different technologies, based on our recommended sources and other material. We also ask you to brush up on your general Python and programming skills.
Date | Topic(s) | Time | Location |
Lecturer |
---|---|---|---|---|
Nov 23 | General description of the course | 9:15-9:30 | 6143 |
MN |
Introduction. High performance models and measures | 9:30-12:00 | 6143 |
MN |
|
Models, measures, cont. | 13:15-14:00 | 1113 |
MN |
|
Participants shortly describe their research project and the HPC-related issues | 14:15-15:30 | 1113 |
MN |
|
Nov 24 | C++11, not C with classes anymore. Including templates, lambdas, smart pointers. Library use including the Standard Template Library, Boost, and interaction with Python. | 9:15-12:00 | 6143 |
CN |
Computer lab and 'Hands-on' session: Create a C++ library called from Python using Cython and Boost Python. | 13:15-17:00 | 1211 |
CN |
|
Nov 25 | Discussion of the experience from the last computer lab | 9:15-9:30 | 2345 |
CN |
Design patterns and modular software - designing, building and maintaining. git and cmake | 9:30-12:00 | 2345 |
CN |
|
Computer lab and 'Hands-on' session: Extending our Python library with source code management and a build system with external dependencies. | 13:15-17:00 | 1112 |
CN |
|
Nov 26 | Discussion of the experience from the last computer lab | 9:15-9:30 | 6111 |
CN |
An overoview of libraries for numerical simulations: dealii, Trilinos, Paralution, Armadillo, etc... | 9:30-12:00 | 6111 |
AD |
|
Computer lab and 'Hands-on' session: | 13:15-17:00 | 1312 |
AD |
|
Nov 27 | Parallel debuggers. Performance analysis tools: Allinea DDT, hands on | 9:00-12:00 | 2345 |
MN/AD/Allinea |
Closing: details on the project work | 13:30-15:00 | 1245 |
MN/AD/CN |
Recommended sources:
After the main lecture week, you are supposed to do a minor project based on what we have covered. Our main suggestion is to write a minor Python library for a performance-critical component of relevance in your scientific application. The library should be source-controlled, have a proper build environment, and ideally use modern scientific C++ libraries for parts of its operation.