Thematic CERN School of Computing - autumn 2021
from
Sunday 10 October 2021 (11:00)
to
Saturday 16 October 2021 (12:00)
Sunday 10 October 2021
11:00
Registration
Registration
11:00 - 12:45
13:00
Lunch
Lunch
13:00 - 13:45
14:00
Registration / Coffee break
Registration / Coffee break
14:00 - 16:00
16:00
Welcome to the CERN School of Computing
-
Sebastian Lopienski
(
CERN
)
Welcome to the CERN School of Computing
Sebastian Lopienski
(
CERN
)
16:00 - 16:20
16:20
Self-presentation: 1 minute per person
Self-presentation: 1 minute per person
16:20 - 17:00
17:15
Visit of Split old town
Visit of Split old town
17:15 - 19:00
19:00
Outside Welcome Dinner
Outside Welcome Dinner
19:00 - 20:00
Monday 11 October 2021
09:00
Opening Session
-
Sebastian Lopienski
(
CERN
)
Opening Session
Sebastian Lopienski
(
CERN
)
09:00 - 10:00
10:00
Coffee break
Coffee break
10:00 - 10:30
10:30
Preparing for the HL-LHC computational challenge
-
Danilo Piparo
(
CERN
)
Preparing for the HL-LHC computational challenge
(Introduction lecture)
Danilo Piparo
(
CERN
)
10:30 - 11:30
In this talk we will introduce some basic concepts related to HEP data processing and analysis workflows, seeing them in action in the context of LHC experiments. We’ll also talk about the evolution of the LHC accelerator and experiments. We’ll characterise at a high level what are the consequences of those upgrades for the HEP data processing software, in particular in the context of an evolving hardware and computing infrastructure.
11:30
Introduction to efficient computing
-
Andrzej Nowak
Introduction to efficient computing
(Track 1: Technologies and Platforms)
Andrzej Nowak
11:30 - 12:30
Technologies and Platforms - lecture 1 - The evolution of computing hardware and what it means in practice - The seven dimensions of performance - Controlling and benchmarking your computer and software - Software that scales with the hardware - Advanced performance tuning in hardware
12:30
Announcements
Announcements
12:30 - 12:45
13:00
Lunch
Lunch
13:00 - 13:45
14:00
Study time and/or daily sports
Study time and/or daily sports
14:00 - 15:30
15:30
Student lightning talks
-
Riccardo De Maria
(
CERN
)
Stephan Hageboeck
(
CERN
)
Marc Huwiler
(
Universitaet Zuerich (CH)
)
Luca Giommi
(
Universita e INFN, Bologna (IT)
)
Adam Abed Abud
(
University of Liverpool (GB) and CERN
)
Student lightning talks
Riccardo De Maria
(
CERN
)
Stephan Hageboeck
(
CERN
)
Marc Huwiler
(
Universitaet Zuerich (CH)
)
Luca Giommi
(
Universita e INFN, Bologna (IT)
)
Adam Abed Abud
(
University of Liverpool (GB) and CERN
)
15:30 - 16:10
16:10
Coffee break
Coffee break
16:10 - 16:30
16:30
Writing parallel software
-
Danilo Piparo
(
CERN
)
Writing parallel software
(Track 2: Parallel and Optimised Scientific Software)
Danilo Piparo
(
CERN
)
16:30 - 17:30
Parallel and Optimised Scientific Software - lecture 1 - Amdahl's and Gustafson's laws - Asynchronous execution - Finding concurrency, task vs. data parallelism - Using threading in C++ and Python, comparison with multi-process - Resource protection and thread safety - Locks, thread local storage, atomic operations
17:30
Modern programming languages for HEP
-
Sebastien Ponce
(
CERN
)
Modern programming languages for HEP
(Track 2: Parallel and Optimised Scientific Software)
Sebastien Ponce
(
CERN
)
17:30 - 18:30
Parallel and Optimised Scientific Software - lecture 2 - Why Python and C++ ? - Recent evolutions: C++ 11/14/17 - Modern features of C++ related to performance - Templating versus inheritance, pros and cons of virtual inheritance - Python 3, and switching from Python 2
19:00
Dinner at MEDILS
Dinner at MEDILS
19:00 - 20:00
Tuesday 12 October 2021
09:00
Optimizing existing large codebase
-
Sebastien Ponce
(
CERN
)
Optimizing existing large codebase
(Track 2: Parallel and Optimised Scientific Software)
Sebastien Ponce
(
CERN
)
09:00 - 10:00
Parallel and Optimised Scientific Software - lecture 3 - Measuring performance, tools and key indicators - Improving memory handling - The nightmare of thread safety - Code modernization and low level optimizations - Data structures for efficient computation in modern C++
10:00
Hardware evolution and heterogeneity
-
Andrzej Nowak
Hardware evolution and heterogeneity
(Track 1: Technologies and Platforms)
Andrzej Nowak
10:00 - 11:00
Technologies and Platforms - lecture 2 - Accelerators, co-processors, heterogeneity - Memory architectures, hardware caching and NUMA - Compute devices: CPU, GPU, FPGA, ASIC etc. - The role of compilers
11:00
Coffee break
Coffee break
11:00 - 11:30
11:30
Announcements
Announcements
11:30 - 11:45
11:45
Scientific computing on heterogeneous architectures
-
Dorothea Vom Bruch
(
CPPM/CNRS
)
Scientific computing on heterogeneous architectures
(Track 3: Programming for Heterogeneous Architectures)
Dorothea Vom Bruch
(
CPPM/CNRS
)
11:45 - 12:45
Programming for Heterogeneous Architectures - lecture 1 - Introduction to heterogeneous architectures and the performance challenge - From general to specialized: Hardware accelerators and applications - Type of workloads ideal for different accelerators - Trade-offs between multi-core and many-core architectures - Implications of heterogeneous hardware on the design and architecture of scientific software - Embarrassingly parallel scientific applications in HPC and CERN
13:00
Lunch
Lunch
13:00 - 13:45
14:00
Study time and/or daily sports
Study time and/or daily sports
14:00 - 15:30
15:30
School photo
School photo
15:30 - 15:35
15:35
Optimizing existing large codebase - exercise
-
Sebastien Ponce
(
CERN
)
Optimizing existing large codebase - exercise
Sebastien Ponce
(
CERN
)
15:35 - 18:30
Optimisation of an existing, production grade large codebase
19:00
Dinner at MEDILS
Dinner at MEDILS
19:00 - 20:00
20:00
Special evening talk: Future of the Universe and of Humanity
-
Ivica Puljak
(
University of Split
)
Special evening talk: Future of the Universe and of Humanity
Ivica Puljak
(
University of Split
)
20:00 - 21:00
Wednesday 13 October 2021
09:00
Data-oriented design
-
Andrzej Nowak
Data-oriented design
(Track 1: Technologies and Platforms)
Andrzej Nowak
09:00 - 10:00
Technologies and Platforms - lecture 3 - Hardware vectorization in detail – theory vs. practice - Software design for vectorization and smooth data flow - How can compilers and other tools help?
10:00
Practical vectorization
-
Sebastien Ponce
(
CERN
)
Practical vectorization
(Track 2: Parallel and Optimised Scientific Software)
Sebastien Ponce
(
CERN
)
10:00 - 11:00
Parallel and Optimised Scientific Software - lecture 4 - Measuring vectorization level - What to expect from vectorization - Preparing code for vectorization - Vectorizing techniques in C++: intrinsics, libraries, autovectorization
11:00
Coffee break
Coffee break
11:00 - 11:15
11:15
Practical vectorization - exercise
-
Sebastien Ponce
(
CERN
)
Practical vectorization - exercise
Sebastien Ponce
(
CERN
)
11:15 - 12:45
13:00
Lunch
Lunch
13:00 - 13:30
13:30
Outdoor excursion
Outdoor excursion
13:30 - 19:00
19:00
Outside dinner
Outside dinner
19:00 - 20:00
Thursday 14 October 2021
09:00
Guest lecture: Why is Higgs still a star?
-
Toni Sculac
(
University of Split
)
Guest lecture: Why is Higgs still a star?
(Additional lectures)
Toni Sculac
(
University of Split
)
09:00 - 10:00
The discovery of the Higgs boson particle in 2012 was an astonishing triumph of high energy physics. In this talk I will try to convince you that precision measurements of the Higgs boson properties are a very exciting prospect. Not only it will lead to a better understanding of our Universe but it is also one of our best windows in to the unknown.
10:00
Programming for GPUs
-
Dorothea Vom Bruch
(
CPPM/CNRS
)
Programming for GPUs
(Track 3: Programming for Heterogeneous Architectures)
Dorothea Vom Bruch
(
CPPM/CNRS
)
10:00 - 11:00
Programming for Heterogeneous Architectures - lecture 2 - From SIMD to SPMD, a programming model transition - Thread and memory organization - Basic building blocks of a GPU program - Control flow, synchronization, atomics
11:00
Coffee break
Coffee break
11:00 - 11:30
11:30
Announcements
Announcements
11:30 - 11:45
11:45
Performant programming for GPUs
-
Daniel Campora
(
University of Maastricht
)
Performant programming for GPUs
(Track 3: Programming for Heterogeneous Architectures)
Daniel Campora
(
University of Maastricht
)
11:45 - 12:45
Programming for Heterogeneous Architectures - lecture 3 - Data locality, coalesced memory accesses, tiled data processing - GPU streams, pipelined memory transfers - Under the hood: branchless, warps, masked execution - Debugging and profiling a GPU application
13:00
Lunch
Lunch
13:00 - 13:45
14:00
Study time and/or daily sports
Study time and/or daily sports
14:00 - 15:30
15:30
Programming for heterogeneous architectures - exercise
-
Dorothea Vom Bruch
(
CPPM/CNRS
)
Daniel Campora
(
University of Maastricht
)
Programming for heterogeneous architectures - exercise
Dorothea Vom Bruch
(
CPPM/CNRS
)
Daniel Campora
(
University of Maastricht
)
15:30 - 18:30
19:00
Dinner at MEDILS
Dinner at MEDILS
19:00 - 20:00
Friday 15 October 2021
09:00
Design patterns and best practices
-
Daniel Campora
(
University of Maastricht
)
Design patterns and best practices
(Track 3: Programming for Heterogeneous Architectures)
Daniel Campora
(
University of Maastricht
)
09:00 - 10:00
Programming for Heterogeneous Architectures - lecture 4 - Good practices: single precision, floating point rounding, avoid register spilling, prefer single source - Other standards: SYCL, HIP, OpenCL - Middleware libraries and cross-architecture compatibility - Reusable parallel design patterns with real-life applications
10:00
Announcements
Announcements
10:00 - 10:15
10:15
Coffee break
Coffee break
10:15 - 10:30
10:30
Programming for heterogeneous architectures - exercise
-
Dorothea Vom Bruch
(
CPPM/CNRS
)
Daniel Campora
(
University of Maastricht
)
Programming for heterogeneous architectures - exercise
Dorothea Vom Bruch
(
CPPM/CNRS
)
Daniel Campora
(
University of Maastricht
)
10:30 - 12:45
13:00
Lunch
Lunch
13:00 - 13:45
14:00
Study time and/or daily sports
Study time and/or daily sports
14:00 - 15:30
15:30
Summary and future technologies overview
-
Andrzej Nowak
Summary and future technologies overview
(Track 1: Technologies and Platforms)
Andrzej Nowak
15:30 - 16:30
Technologies and Platforms - lecture 4 - Teaching program summary and wrap-up - Next-generation memory technologies and interconnect - Future computing evolution
16:30
Coffee break
Coffee break
16:30 - 17:00
17:00
Exam
Exam
17:00 - 17:40
18:00
Closing Session
-
Sebastian Lopienski
(
CERN
)
Closing Session
Sebastian Lopienski
(
CERN
)
18:00 - 18:45
19:30
Outside Closing Dinner
Outside Closing Dinner
19:30 - 20:30
Saturday 16 October 2021
09:00
Departure
Departure
09:00 - 11:00