Thematic CERN School of Computing - autumn 2021

Europe/Zagreb
Split, Croatia (or online)

Split, Croatia (or online)

Sebastian Lopienski (CERN) , Joelma Tolomeo (CERN) , Jarek Polok (CERN)
Description

The 9th Thematic CERN School of Computing (tCSC autumn 2021) will take place on October 10-16, 2021. The theme of the school is "Scientific Software for Heterogeneous Architectures" - see the academic programme for more details.

This school is organized by CERN in collaboration with the University of Split. Assuming a continuous positive evolution of the pandemic, the school will take place in Split, Croatia, and be hosted at the Mediterranean Institute For Life Sciences (MEDILS) Conference Centre. The Centre is a historical renovated building situated in a wooded and landscaped park located on the Adriatic Sea coast, a few kilometres from the centre of Split. (However, if the pandemic situation doesn't allow traveling or physical presence, the school will be moved to online format.)

Applications and Selection

Please note that we have a long waiting list of people who have applied to the previous edition of this school. Consequently, we will not open new applications for this school, and the participants will be selected from the existing waiting list. (If you have not applied for the previous school, and are not on the waiting list, but strongly believe you should take part in this school, please contact us at Computing.School@cern.ch by Sunday July 25th.)

Important Dates

  • early September August 31 - invitations sent to the selected participants
  • Tuesday September 7 - deadline for confirming the participation
  • Wednesday September 15 - registration fee payment deadline
  • Sunday October 10 to Saturday October 16 - the school

              

 

CERN School of Computing
    • 11:00 AM 12:45 PM
      Registration 1h 45m
    • 1:00 PM 1:45 PM
      Lunch 45m
    • 2:00 PM 4:00 PM
      Registration / Coffee break 2h
    • 4:00 PM 4:20 PM
      Welcome to the CERN School of Computing 20m
      Speaker: Sebastian Lopienski (CERN)
    • 4:20 PM 5:00 PM
      Self-presentation: 1 minute per person 40m
    • 5:15 PM 7:00 PM
      Visit of Split old town 1h 45m
    • 7:00 PM 8:00 PM
      Outside Welcome Dinner 1h
    • 9:00 AM 10:00 AM
      Opening Session 1h
      Speaker: Sebastian Lopienski (CERN)
      • Word from the CERN IT Department Head 15m
      • Introduction to CERN School of Computing 15m
        Speaker: Sebastian Lopienski (CERN)
    • 10:00 AM 10:30 AM
      Coffee break 30m
    • 10:30 AM 11:30 AM
      Preparing for the HL-LHC computational challenge 1h

      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.

      Speaker: Danilo Piparo (CERN)
    • 11:30 AM 12:30 PM
      Introduction to efficient computing 1h

      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
      Speaker: Andrzej Nowak
    • 1:00 PM 1:45 PM
      Lunch 45m
    • 2:00 PM 3:30 PM
      Study time and/or daily sports 1h 30m
    • 3:30 PM 4:10 PM
      Student lightning talks 40m
    • 4:10 PM 4:30 PM
      Coffee break 20m
    • 4:30 PM 5:30 PM
      Writing parallel software 1h

      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
      Speaker: Danilo Piparo (CERN)
    • 5:30 PM 6:30 PM
      Modern programming languages for HEP 1h

      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
      Speaker: Sebastien Ponce (CERN)
    • 7:00 PM 8:00 PM
      Dinner at MEDILS 1h
    • 9:00 AM 10:00 AM
      Optimizing existing large codebase 1h

      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++
      Speaker: Sebastien Ponce (CERN)
    • 10:00 AM 11:00 AM
      Hardware evolution and heterogeneity 1h

      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
      Speaker: Andrzej Nowak
    • 11:00 AM 11:30 AM
      Coffee break 30m
    • 11:30 AM 11:45 AM
      Announcements 15m
    • 11:45 AM 12:45 PM
      Scientific computing on heterogeneous architectures 1h

      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
      Speaker: Dorothea Vom Bruch (CPPM/CNRS)
    • 1:00 PM 1:45 PM
      Lunch 45m
    • 2:00 PM 3:30 PM
      Study time and/or daily sports 1h 30m
    • 3:30 PM 3:35 PM
      School photo 5m
    • 3:35 PM 6:30 PM
      Optimizing existing large codebase - exercise 2h 55m

      Optimisation of an existing, production grade large codebase

      Speaker: Sebastien Ponce (CERN)
    • 7:00 PM 8:00 PM
      Dinner at MEDILS 1h
    • 8:00 PM 9:00 PM
      Special evening talk: Future of the Universe and of Humanity 1h
      Speaker: Ivica Puljak (University of Split)
    • 9:00 AM 10:00 AM
      Data-oriented design 1h

      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?
      Speaker: Andrzej Nowak
    • 10:00 AM 11:00 AM
      Practical vectorization 1h

      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
      Speaker: Sebastien Ponce (CERN)
    • 11:00 AM 11:15 AM
      Coffee break 15m
    • 11:15 AM 12:45 PM
      Practical vectorization - exercise 1h 30m
      Speaker: Sebastien Ponce (CERN)
    • 1:00 PM 1:45 PM
      Lunch 45m
    • 2:00 PM 7:00 PM
      Outdoor excursion 5h
    • 7:00 PM 8:00 PM
      Outside dinner 1h
    • 9:00 AM 10:00 AM
      Guest lecture: Why is Higgs still a star? 1h

      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.

      Speaker: Toni Sculac (University of Split)
    • 10:00 AM 11:00 AM
      Programming for GPUs 1h

      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
      Speaker: Dorothea Vom Bruch (CPPM/CNRS)
    • 11:00 AM 11:30 AM
      Coffee break 30m
    • 11:30 AM 11:45 AM
      Announcements 15m
    • 11:45 AM 12:45 PM
      Performant programming for GPUs 1h

      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
      Speaker: Daniel Campora (University of Maastricht)
    • 1:00 PM 1:45 PM
      Lunch 45m
    • 2:00 PM 3:30 PM
      Study time and/or daily sports 1h 30m
    • 3:30 PM 6:30 PM
      Programming for heterogeneous architectures - exercise 3h
      Speakers: Daniel Campora (University of Maastricht) , Dorothea Vom Bruch (CPPM/CNRS)
    • 7:00 PM 8:00 PM
      Dinner at MEDILS 1h
    • 9:00 AM 10:00 AM
      Design patterns and best practices 1h

      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
      Speaker: Daniel Campora (University of Maastricht)
    • 10:00 AM 10:15 AM
      Announcements 15m
    • 10:15 AM 10:30 AM
      Coffee break 15m
    • 10:30 AM 12:45 PM
      Programming for heterogeneous architectures - exercise 2h 15m
      Speakers: Daniel Campora (University of Maastricht) , Dorothea Vom Bruch (CPPM/CNRS)
    • 1:00 PM 1:45 PM
      Lunch 45m
    • 2:00 PM 3:30 PM
      Study time and/or daily sports 1h 30m
    • 3:30 PM 4:30 PM
      Summary and future technologies overview 1h

      Technologies and Platforms - lecture 4

      • Teaching program summary and wrap-up
      • Next-generation memory technologies and interconnect
      • Future computing evolution
      Speaker: Andrzej Nowak
    • 4:30 PM 5:00 PM
      Coffee break 30m
    • 5:00 PM 5:40 PM
      Exam 40m
    • 6:00 PM 6:45 PM
      Closing Session 45m
      Speaker: Sebastian Lopienski (CERN)
    • 7:00 PM 8:00 PM
      Outside Closing Dinner 1h
    • 9:00 AM 11:00 AM
      Departure 2h