This repository contains the materials/programs/assignements and workspaces for the course Introduction to Computer Architecture for HPC at MHPC andd Foundation on HPC.
the two courses shares some lectures and some materials. The MHPC P1.2 course will be be given intesively over October, while the FHPC has a different schedule and will last till January.
by Georg Hager and Gerhard Wellein Paperback: 356 pages Publication date July 2, 2010 Editors (Chapman & Hall/CRC Computational Science)
The source and pdf of the book (as well as lecture slides) can be found in this repository: https://bitbucket.org/VictorEijkhout/hpc-book-and-course 10.5281/zenodo.49897
Available at ICTP library Authors: Thomas Sterling Matthew Anderson Maciej Brodowicz eBook ISBN: 9780124202153 Paperback ISBN: 9780124201583
Paperback – October 15, 2014 by Alexander Supalov (Author), Andrey Semin (Author), Michael Klemm (Author), & 1 more ISBN-13: 978-1430264965 ISBN-10: 1430264969 Edition: 1st
Multicore and Many-core Programming Approaches
by Reinders & Jeffers
Morgan Kaufmann, Print Book ISBN :9780128021187
-
Tuesday October 2: via Bonomea
- 09.30 - 11.30 MHPC/DSSC lecture one: [introduction_to_HPC_p1] (part 1)
-
Wednesday October 3: Miramare
- 09.30 - 11.00 MHPC tutorial : using an HPC platform + exercise 1 compute weak/strong scalability
- 11.30 - 13.00 MHPC exercise 1: compute weak/strong scalability
- 14:00 - 17:00 MHPC exercise 1: personal work on exercise 1
-
Friday October 5:
- 09.30- 11.00: MHPC/DSSC lecture two: introduction to HPC_p2 (part 2)
- 11.30 -13.00: DSSC tutorial: using a HPC platform + exercise 1 compute weak/strong scalability
- 14.00 -17.00: MHPC advanced exercise1 (Ex1ADV)
- Monday October 8:
- 09.30 - 11.00 MHPC/DSSC lecture three: Introduction to modern CPUs + memory hierarchy
- 11.30 - 13.00 MHPC/DSSC tutorial: Intro to Code Opimization + Profiling tools [LT]
- 14.00 -17.00: DSCC/MHPC exercise 2: [use profiling tools]
- Tuesday October 9:
- 09.30 - 11.30 MHPC completing exercise for MHPC (deadline ex1ADV + exercise2 end of the day)
- Wednesday October 10: Miramare
- 09.30 - 12.30 MHPC tutorial: [Code Optmization / part 1 (cpu)] [LT]
- 14:00 - 17.00 MHPC advanced exercise 3: Code Optimization (cpu) [LT]
- Thurday October 11:
- 09.30 - 11.30 MHPC: completing exercise for MHPC (deadline ex2ADV end of the day)
- Friday October 12:
- 09.30- 11.00: MHPC/DSSC lecture four/1: introduction to memory optimization: part1 [LT + SC]
- 11.30 -13.00: MHPC/DSSC lecture four/2: introduction to memory optimization: part2 [LT + SC]
- 14.00 -17.00: MHPC exercise 4: Transpose a matrix
- Monday October 15:
- 09.30 - 11.00 MHPC/DSSC lecture five/1 : introduction to multicore architecture [SC]
- 11.30 - 13.00 MHPC/DSSC lecture five/2: introduction to multicore architecture [SC]
- 14.00 -17.00: DSCC/MHPC exercise 5: Multicore_exercises stream + nodeperf
- Wednesday October 17: Miramare
- 09.30 - 12.30 MHPC tutorial: advanced memory optimizaton [LT]
- 14:00 - 17.00 MHPC adavanced exercise 4: TBD
- Thurday October 18: via Bonomea
- Friday October 19:
- 09.30 - 11.00 MHPC/DSSC lecture six/1 :
- 11.30 - 13.00 MHPC/DSSC lecture six/2 :
- 14.00 -17.00: DSCC/MHPC exercise 5 :
-
Monday October 22:
- 09.30 - 11.00 MHPC/DSSC introduction to parallel architecture and tools part 1 [SC]
- 11.30 - 13.00 MHPC/DSSC introduction to parallel architecture and tools part 2 [SC]
- 14.00 -17.00: MHPC exercise: measuring latency with ping-pong
-
Wednesday October 24: Miramare
- 09.30 - 12.30 MHPC: introduction to benchmarking [SC]
- 14:00 - 17.00 MHPC exercise 6: exercises_on_hpl_and_hpcg
-
Friday October 26:
- 09.30- 11.30: MHPC/DSSC lecture eight/1: measure energy in HPC [SC]
- 14.00 -17.00: DSCC/MHPC exercise 7: exercise on energy
- Monday October 29:
- 09.30 - 11.00 MHPC lecture nine/1: intro_to_debugging [SC] + parallel debugging [LT]
- 11.30 - 13.00 MHPC lecture nine/2: stack and heap [LT]
- 14:00 - 17:00 MHPC free tutorials on debugging, on parallel_debugging and stack and heap
- Wednesday October 31:
- 10:30 - 12:00 MHPC Final exam
- Monday November 5:
- 09.30 - 11.30 DSSC lecture ten
- 11.30 - 13.00 DSSC tutorial
- 14.00 -17.00: DSCC exercise
- Friday November 9:
- 09.30- 11.30: DSSC lecture eleven
- 11.30 -12.30: DSSC tutoring
- Monday November 12:
- 09.30 - 11.30 DSSC lecture twelve
- 11.30 - 13.00 DSSC tutorial
- 14.00 -17.00: DSCC exercise
- Friday November 16:
- 09.30- 11.30: DSSC lecture thirdteen
- 11.30 -12.30: DSSC tutoring
- Monday November 19:
- 09.30 - 11.30 DSSC lecture twelve
- 11.30 - 13.00 DSSC tutorial
- 14.00 -17.00: DSCC exercise
- Friday November 23:
- 09.30- 11.30: DSSC lecture thirteen
- 11.30 -12.30: DSSC tutoring
- Monday November 16:
- 09.30 - 11.30 DSSC lecture 14
- 11.30 - 13.00 DSSC tutorial
- 14.00 -17.00: DSCC exercise
- Friday November 30:
- 09.30- 11.30: DSSC lecture 15
- 11.30 -12.30: DSSC tutoring
- Monday December 3:
- 09.30 - 11.30 DSSC lecture 16
- 11.30 - 13.00 DSSC tutorial
- 14.00 -17.00: DSCC exercise
- Friday December 7:
- 09.30- 11.30: DSSC lecture 17
- 11.30 -12.30: DSSC tutoring
- Monday December 10:
- 09.30 - 11.30 DSSC lecture 18
- 11.30 - 13.00 DSSC tutorial
- 14.00 -17.00: DSCC exercise
- Friday December 14:
- 09.30- 11.30: DSSC lecture 19
- 11.30 -12.30: DSSC tutoring
- Monday January 7:
- 09.30 - 11.30 DSSC lecture 20
- 11.30 - 13.00 DSSC tutorial
- 14.00 -17.00: DSCC exercise
- Friday December 11:
- 09.30- 11.30: DSSC lecture 21
- 11.30 -12.30: DSSC tutoring
#########
- Very first time
(N==0)
- open a terminal
cd
in a suitable foldergit clone https://github.com/asartori86/advanced_programming-2018-19.git
cd advanced-programming
- take a look at software carpentry lecture and pro git book
N > 0
- open a terminal
cd
to the folderadvanced-programming
git pull --rebase origin master
- if(conflict)
- ask
- Very first time
(N==0)
- fork the repository
- clone either your fork or this repository
- add the other remote
N >= 0
- use branches
- rebase on the correct master branch
- merge the branches in your local master
- push on the master of your fork
- if(conflict)
- if(rebase)
git add
git rebase --continue
- if(bigger mess)
git rebase --abort
- if(merge)
git add
git commit
git merge --continue
- if(bigger mess)
git merge --abort
- if(rebase)
- A01: compute weak/strong scalability Due time: Thursday october 4th noon (12PM)
- A02: [use profiling tools]: https://github.com/sissa/P1.2_seed/blob/master/exercise2-profiling/readme.md
- A03:
- A04: Transpose a matrix Due time: end of october
- A05: Multicore_exercises Due time: end of october
- A06: exercises_on_hpl_and_hpcg Due time: end of october
- A07: exercise on energy Due time: end of october
New material will be uploaded frequently,