layout | title |
---|---|
page |
Running HemeLB on HPC Systems - Lesson Outline |
-
The Carpentries style works by backward design;
- Identify practical skills to teach
- Design challenges to give opportunity for learners to practice and integrate skills
- Identify what needs to be taught for learners to acquire the skills
-
Those that wish to learn HemeLB will undoubtedly find weird (and sometimes completely bizarre) ways of doing things. So, be aware of expert awareness gap
-
Ensure that you fork the repository to your own GitHub account. Be certain that you are working in
gh-pages
branch. From there you can work locally and submit pull requests. -
Tests have been implemented with the repo, and should run once commit is staged on GitHub or pushed from local machine. These checks include spelling, and page build checks.
-
To see how your page builds, head to; Settings -> Pages and see the link highlighted in green. It will be of the form
https://{youraccount}.github.io/HemeLB-Carpentries
. Copy and paste it into About on the left hand side of the main screen of your forked repo to see how it turns out. The main repo page build is located here. -
Chris will review material before merging your forked repo with the main repo, and can assist with rewording of material if too dense
-
To bring your own fork up to date with main repo;
git fetch upstream
git checkout gh-pages
git merge upstream/gh-pages
-
- CW
- Why should I bother about software performance?
- What can I expect to learn from this course?
-
01-benchmarking-and-scaling.md: How to do a benchmarking and scaling analysis:
- What is benchmarking?
- worth expanding on previous work
- What are the factors that can affect a benchmark?
- How can I perform a benchmark in HemeLB
- What is scaling?
- How can I perform a scaling analysis with HemeLB?
- Use examples of the +300k cores, how was it done?
- EuroHPC Abstract 2020
- POP-COE
- (Maybe explanation of MPI/OpenMP (CW))
- What is benchmarking?
-
02-hemelb-bottlenecks.md: What are the common limitations to getting peak performance:
- Load imbalancing (see slide 84)
- what do beginners need to be aware of (flags to be enabled/disabled?)
- the effects of geometry on performance 2013 paper
- Bottlenecks in one simulation type compared to another
- What bottlenecks were encountered here, and how were they overcome?
- What componetns of built in practices slow simulations down considerably/common pitfalls which, when avoided can greatly enhance speedup
- Visualisation of output, can generation of this lead to bottlenecks?
- Load imbalancing (see slide 84)
-
- Packages which can be used with HemeLB,
-
May 24th
- discussion of existing material
- reach consensus/finalise workplan (excluding GPU material) as outlined in
lesson-outline.md
- Plan Sprint 1 May 31st - June 14th
- 01-benchmarking-and-scaling - exercises + content
- 02-hemelb-bottlenecks - exercises
-
May 24-31 add material
-
May 31st
- Start Sprint 1
-
June 14
- Start Sprint 2
- 02-hemelb-bottlenecks - content
- 04-invoking-packages-in-hemelb - explore possibilities
- Start Sprint 2
-
June 28
- Episodes 01, 02, finished
- Start Sprint 3
- 03-accelerating-hemelb - exercises + content
-
July 12
- Episode 03 exercises finished
- Start Sprint 4
- 03-accelerating-hemelb - content
- 04-invoking-pacakges-with-hemelb remain
-
July 26
- Start Sprint 5
- Finish ep 3,4
- Start Sprint 5
-
August 9
- LEAST PUBLISHABLE UNIT (episodes 1,2,3,4)
- Iron out final details
- Revisit GPU (episode 5)
-
August 23
- Finalise GPU material