| |
Advanced School in High Performance and GRID Computing - Concepts and Applications
FIRST WEEK:
SECOND WEEK:
| |
|
| 1 |
PRELIMINARY ACTIVITIES:
- register on the Moodle portal
- update and complete your profile
- take the preliminary Linux Quiz
- fill in the questionnaire
- take lessons proposed in order to be able at least to
- use basic linux commands
- create/edit files
- create plots
| 
|
|
| 2 |
DAY 1: Introduction to Linux and to the concepts of HPC and GRID (Monday, November 30)
``
| 08:30 - 09:30
|
Registration & Administrative Formalities
|
| 09:30 - 09:40
|
Stefano Cozzini / Axel Kohlmeyer: Introduction to the School (slides);
|
| 09:40 - 10:30
|
Stefano Cozzini: Introduction to HPC and Cluster Computing (slides);
|
| 10:30 - 11:00
|
--- Coffee Break ---
|
| 11:00 - 11:45
|
Bob Johnson: Introduction to Linux Commands (part 1) (slides);
|
| 11:45 - 12:15
|
Moreno Baricevic: Introduction to Networking (slides: 30' version or full version);
|
| 12:15 - 12:45
|
Bob Johnson: Introduction to Linux Commands (part 2) (slides);
|
|
12:45 - 14:00
|
--- Lunch Break ---
|
| 14.00 - 14:30
|
Stefano Cozzini: Introduction to the moodle e-learning platform
|
| 14:30 - 16:00
|
Crash Course on Linux; Beginners Lab (part 1)
A small Crash Course on bash scripting
|
Crash Course on Linux; Intermediate Lab (part 1)
A small Crash Course on bash scripting
|
| 16:00 - 16:30
|
--- Coffee Break ---
|
| 16:30 - 18:30
|
Crash Course on Linux; Beginners Lab (part 2)
A small Crash Course on bash scripting
|
Crash Course on Linux: Intermediate Lab (part 2)
Bash Scripting for Scientific Computation Lesson
Bonus pack (optional) HPC BASH Scripting
|
| 18:30 - 19:15
|
Homework: blog about the day, take the quiz
|
| 
|
|
| 3 |
08:30 -09:00
|
Review of previous day's activities (Axel & Stefano)
|
| 09:00 - 10:00
|
Stefano Cozzini: Floating Points Numbers (slides)
How to work with them correctly and efficiently
|
10:00- 10:30
|
Shawn Brown: From Source Code to Executable (Part 1) (slides)
What happens during preprocessing and compiling
|
| 10:30 - 11:00
|
--- Coffee Break ---
|
| 11:00 - 11:45
|
Shawn Brown: From Source Code to Executable (Part 2) (slides) Compiler flags and linking.
|
| 11:45 - 12:30
|
Axel Kohlmeyer: From Source Code to Executable (Part 3) (slides) Makefiles
|
| 12:30 - 14:00
|
--- Lunch Break ---
|
14:00 - 14.30
|
Alberto Campagnari / A. Messina : Introduction to the e-lab gforge portal and svn server (slides) (subversion slides) A short introduction how to use gforge.escience-lab.org web portal ant its svn server
|
| 14:30 - 16:00
|
Laboratory Part 1: Installing compilers
Instructions available here:Installing compilers on your desktop Lesson
|
| 16:00 - 16:30
|
--- Coffee Break ---
|
| 16:30 - 18:30
|
Laboratory Part 2: Test the Compilers on IEEE floating point arithmetic and Installing scientific packages on HPC resources: Part 1
|
| 18:30 -19:00
|
Homework: blog about the day and take quiz of the day
|
| 
|
|
| 4 |
| 
|
|
| 5 |
| 
|
|
| 6 |
DAY 5: On threaded parallel computing and tools (Friday, December 4)
08:30 - 09:00
|
Review of previous day's activities (Axel & Stefano)
|
| 9:00 - 09:45
|
Axel Kohlmeyer: Introduction to OpenMP (slides)
|
| 9:45 - 10:30
|
Ben Levine: Introduction to GPU Computing (part1): (slides) GPU Hardware, Parallelization and Programming model
|
| 10:30 - 11:00
|
--- Coffee Break ---
|
| 11:00 - 11:30
|
Ben Levine: Introduction to GPU Computing (part 2): (slides) Introduction to programming with CUDA
|
| 11:30 - 12:30
|
Axel Kohlmeyer: Error messages and debugging (slides)
|
| 12:30 - 14:00
|
--- Lunch Break ---
|
| 14:00 - 16:00
|
Laboratory Part 1: Debugging codes
|
| 16:00 - 16:30
|
--- Coffee Break ---
|
| 16:30 - 18:30
|
Laboratory Part 2: Compiling and testing OpenMP programs Use of OpenMP threaded libraries Lesson Compiling and testing CUDA programs and libraries.
|
18:30 - 19.00
|
Homework: take quiz of the day and perform assignment
|
| 
|
|
| 7 |
DAY 6: Review of first week's topics and Q/A session (Saturday, December 5)
8.30 - 09.00
|
Review of previous day's activities (Axel & Stefano)
|
| 9:00 - 09:45
|
Stefano Cozzini: How to benchmark your application.
|
| 9:45 - 10:30
|
Axel Kohlmeyer: 40 ways to simulate liquid Argon (part 1). A case study in optimization and parallelization. (slides)
|
| 10:30 - 11:00
|
--- Coffee Break ---
|
| 11:00 - 12:00
|
Axel Kohlmeyer: 40 ways to simulate liquid Argon (part 2). More techniques on parallelization and optimization are discussed with a real scientific application example. (slides)
|
| 12:00 - 12:30
|
First week wrap up session. Questions from participants. Lab Assignments for week 2 afternoon labs.
|
| 12:30 - 14:00
|
--- Lunch Break ---
|
| 14:00 - on
|
Free time
|
| 
|
|
| 8 |
DAY 7: Rest (Sunday, 6 December)
A day to rest and recover | 
|
|
| 9 |
DAY 8: Advanced topic 1 and Labs (Monday, December 7)
| Advanced Topic Section (Room: Adriatico Guest House Kastler Lecture Hall)
|
| 09:00 - 09:45
|
Introduction to Grid computing (Antun Balaz) (slides)
|
| 09:45 - 10:30
|
How to choose the right architecture for your computation (Shawn Brown) (slides)
|
| 10:30 - 11:00
|
--- Coffee Break ---
(Room: Adriatico Guest House (Lower Level 1))
|
| Parallel sessions
|
|
Application Optimization and Parallel Programming
|
Cluster Installation and management lab
|
GRID computing Lab (Eklund Lab)
|
| 11:00 - 12:00
|
Ben Levine: Introduction to GPU computing (part 3): CUDA programming and optimization examples. (slides)
|
Moreno Baricevic: Installation procedures for clusters (Part 1, Part 2 and Intro to Hands-on Lab) (Room: Lundqvist)
|
Antun Balaz / Stefano Cozzini: Grid tutorial (Part 1): Introduction to gLite and Gridseed (slides)
|
| 12:00 - 14:00
|
--- Lunch Break ---
(Room: Adriatico Guest House Cafeteria)
|
| 14:00 - 16:00
|
Optimization/Parallelization of your own code (Shawn Brown). or CUDA Porting of your own code (Ben Levine) or Optimization of the Liquid Argon simulation code. (Axel Kohlmeyer)
|
Cluster Installation Lab Part 1: Installation of a masternode and setup of the netboot environment (Room: Lundqvist)
|
Grid tutorial (Part 2): Security/ Authorization and Advanced Grid Jobs Submission
|
| 16:00 - 16:30
|
--- Coffee Break ---
|
| 16:30 - 18:30
|
Optimization/Parallelization of your own code (Shawn Brown). or CUDA Porting of your own code (Ben Levine) or Optimization of the Liquid Argon simulation code. (Axel Kohlmeyer)
|
Cluster Installation Lab Part 1: Installation of a masternode and setup of the netboot environment (Room: Lundqvist)
|
Grid tutorial (part 3): Data management
|
| 
|
|
| 10 |
| 
|
|
| 11 |
DAY 10: Advanced Topic 3 and Labs (Wednesday, December 9)
| Advanced Topic Section (Room: Adriatico Guest House Kastler Lecture Hall)
|
| 09:00 - 09:45
|
Carlo Cavazzoni: Hybrid OpenMP/MPI programming (part 1) (slides)
|
| 09:45 - 10:30
|
Carlo Cavazzoni: Hybrid OpenMP/MPI programming (part 2) (slides)
|
| 10:30 - 11:00
|
--- Coffee Break ---
|
|
Application Optimization and Parallel Programming
|
Cluster Installation and management lab
|
GRID computing Lab
|
| 11:00 - 12:00
|
Panel Discussion on Coordinating Software Development. Strategies, Caveats, Tools, Examples Panelists: A. Kohlmeyer, S. Brown, C. Cavazzoni, A. Campagnari
|
Piero Calucci: how to setup a queue system on your cluster (Room: Lundqvist)
|
J.Mosicki: Ganga and Diane tools (video-conference) (slides)
|
| 12:00 - 14:00
|
--- Lunch Break ---
(Room: Adriatico Guest House Cafeteria)
|
| 14:00 - 16:00
|
Optimization/Parallelization of your own code (Shawn Brown). or CUDA Porting of your own code (Ben Levine) or OpenMP-parallelization of the Liquid Argon simulation code. (Axel Kohlmeyer)
|
Antonio Messina: RAID and LVM (slides)
Installing Ganglia (Room: Lundqvist)
|
Ganga tutorial
|
| 16:00 - 16:30
|
--- Coffee Break ---
|
| 16:30 - 18:30
|
Optimization/Parallelization of your own code (Shawn Brown). or CUDA Porting of your own code (Ben Levine) or OpenMP parallelization of the Liquid Argon simulation code. (Axel Kohlmeyer)
|
Completing all the exercises proposed and/or optional exercises (IPMI & SNMP; DNS Configuration; Setup of the Infiniband Network; NAT and IP Forwarding; Bonding; Virtual Machines as Test/Development Platform) (Room: Lundqvist)
|
Ganga tutorial
|
| 
|
|
| 12 |
DAY 11: GPU programming and Labs (Thursday, December 10)
| Advanced Topic Section (Room: Adriatico Guest House Kastler Lecture Hall)
|
09:00 - 10:30
|
Massimiliano Fatica: Optimal GPU programming: Presentation and discussion of implementing a spectral Poisson solver with CUDA using the cuFFT library. (slides)
|
| 10:30 - 11:00
|
--- Coffee Break ---
|
|
Application Optimization and Parallel Programming
|
Cluster Installation and management lab
|
GRID computing Lab
|
| 11:00 - 12:00
|
Axel Kohlmeyer: LJMD code revisited for participants in the software lab.
|
Piero Calucci: C4 tools for cluster computing
|
Individual project
|
| 12:00 - 14:00
|
--- Lunch Break ---
(Room: Adriatico Guest House Cafeteria)
|
| 14:00 - 16:00
|
Optimization/Parallelization of your own code (Shawn Brown). or CUDA Porting of your own code (Ben Levine) or Hybrid OpenMP/MPI parallelization of the Liquid Argon simulation code. (Axel Kohlmeyer)
|
Final Lab: completing all the exercises proposed
|
Individual project
|
| 16:00 - 16:30
|
--- Coffee Break ---
|
| 16:30 - 18:30
|
Optimization/Parallelization of your own code (Shawn Brown). or CUDA Porting of your own code (Ben Levine) or CUDA porting of the Liquid Argon simulation code. (Axel Kohlmeyer)
|
Final Lab: completing all the exercises proposed
|
Individual project
|
| 
|
|
| 13 |
DAY 12: Final Workshop and Conclusion (Friday, December 11)
| Wrap-up session
|
| 9:00 - 10.00
|
Selected presentation from participants - Riccardo Sabatini: Code profiling with TAU (slides) - Michele Paulatto: Travel-time seismic tomography in a Nuttshell (slides) - Alan Bizjak: Reprt From software lab CUDA/GPU Computing (slides) Reports/summaries from the labs: Hardware Lab (slides) Wrap-up of the school activities
|
Workshop on GPU perspective in HPC (Room: Adriatico Guest House Kastler Lecture Hall)
|
| 10:00 - 10:15
|
E4 roadmap toward CPU/GPU computing (F.Magugliani) (slides)
|
| 10:15 - 11:00
|
GPU computing perspective (E.Orlotti / M.Fatica, Nvidia) (slides)
|
| 11:00 - 11:30
|
--- Coffee Break ---
|
11.30 - 12.00
|
HPC for AFRICA (Clement Onime) (slides)
|
12.00 - 12.45
|
Teaching GPU approach in HPC workshop: report from the GPU lab and future perspective (Axel)
|
12.45 - 13.00
|
Workshop Conclusion (Stefano / Axel)
|
| 
|
|
| 14 |
| 
|
|