Skip ActivitiesSkip Administration

Administration

Skip Course categories

Topic outline

 
 
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
Show only topic 1
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



Show only topic 2
3

DAY 2: Tools and methods for scientific programming (Tuesday, December 1)




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


Show only topic 3
4

DAY 3: Tools and methods for High Performance Computing (Wednesday, December 2)


08:30 -09:00

Review of previous day's activities (Axel & Stefano)
9:00 - 09:45 Stefano Cozzini: Modern architectures for HPC computation (slides)

Review of modern architecture: details about memory hierarchy; 

9:45 - 10:30 Shawn Brown: Using compilers and profilers to optimize your code for performance (part 1) (slides)
10:30 - 11:00
--- Coffee Break ---
11:00 - 11:45 Shawn Brown: Using compilers and profilers to optimize your code for performance (part 2) (slides)
11:45 - 12:30                  
Axel Kohlmeyer: Mathematical libraries (slides)
BLAS/LAPACK, FFTW and friends.
12:30 - 14:00
--- Lunch Break ---
14:00 - 16:00 Laboratory Part 1

Laboratory Part 1a: Optimize simple codes Lesson

Laboratory part 1b: Understanding and measuring memory hierarchy with Valgrind Lesson

16:00 - 16:30
--- Coffee Break ---
16:30 - 18:30 Laboratory Part 2:

Play with mathematical libraries.

Installing Scientific Packages on HPC Resources: Part 2 Lesson 

18:30 - 19:15 Homework:take your online quiz and blog about the day

Show only topic 4
5

DAY 4: Parallel machines and Parallel programming (Thursday, December 3)


08:30 -09:00


Review of previous day's activities (Axel & Stefano)
9:00 - 09:45 Stefano Cozzini: Parallel Computing with Linux; the cluster approach (slides)
9:45 - 10:30 Antun Balaz (slides)  : Introduction to MPI (part 1): Concepts and Strategies
10:30 - 11:00
--- Coffee Break ---
11:00 - 12:00 Shawn Brown: Introduction to MPI (part 2): Basic MPI calls and how to use them.(slides)
12:00 - 12:30 Piero Calucci (slides): Queue Systems & How to Use TORQUE and Maui
12:30 - 14:00
--- Lunch Break ---
14:00 - 16:00 Laboratory Part 1:

Learn to interact with torque local resource manager to submit jobs on clusters Lesson 
Measuring MPI latency and Bandwidth on Linux Cluster Lesson 
16:00 - 16:30
--- Coffee Break ---
16:30 - 18:30 Laboratory Part 2:
Install MPI Libraries, Setup mini-Cluster to test MPI an compare performance Lesson

Show only topic 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

Show only topic 6
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



Show only topic 7
8Show only topic 8
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



Show only topic 9
10

DAY 9: Advanced Topic 2 and Labs (Tuesday, December 8) :


Advanced Topic Section (Room: Adriatico Guest House Kastler Lecture Hall)
09:00 - 09:45 Christopher Dahnken: Intel tools for HPC
09:45 - 10:30 Sergio Maffioletti: Grid middleware and arc overview (slides)
10:30 - 11:00 --- Coffee Break ---

Application Optimization and Parallel Programming Cluster Installation and management lab GRID computing Lab
11:00 - 12:00 Shawn Brown:
MPI Tutorial
Moreno Baricevic: Cluster Installation Part 3: Management Tools
     
Martin Scarcia: Environment Modules

(Room: Lundqvist)
Arc Tutorial ( part I) (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
MPI-parallelization of the Liquid
Argon simulation code.
(Axel Kohlmeyer)

Cluster Installation Lab Part 2: Setup of the queue system and the parallel/cluster environment
(Room: Lundqvist)

Arc Tutorial ( part II) (slides)
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
MPI-parallelization of the Liquid
Argon simulation code.
(Axel Kohlmeyer)

Cluster Installation Lab Part 2: Setup of the queue system and the parallel/cluster environment
(Room: Lundqvist)

Arc Tutorial ( part III)






Show only topic 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


Show only topic 11
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




Show only topic 12
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) 


Show only topic 13
14
Show only topic 14
Skip Latest News

Latest News

(No news has been posted yet)
Skip Upcoming Events

Upcoming Events

There are no upcoming events
Skip Recent Activity

Recent Activity

Activity since Sunday, 5 September 2010, 11:15 PM

Nothing new since your last login