Thematic CERN School of Computing 2023

Europe/Zagreb
MedILS, Split, Croatia

MedILS, Split, Croatia

Meštrovićevo šetalište 45 HR – 21000 Split Croatia
Alberto Pace (CERN), Kristina Gunne (CERN), Jarek Polok (CERN)
Description

The 12th Thematic CERN School of Computing (tCSC 2023) will take place on June 11-17, 2023.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. 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 kilometers from the centre of Split. 

The School is aimed at postgraduate (i.e. minimum of Bachelor degree or equivalent) students, engineers and scientists with a few years' experience in particle physics, in computing, or in related fields. We welcome applications from all countries and nationalities.

Applications are closed.

Important Dates

  • Monday March 13- applications deadline
  • Tuesday April 4 - invitations sent to the selected participants
  • Tuesday 2 May - registration fee payment deadline
  • Sunday June 11 to Saturday June 17 - the school

              

CERN School of Computing
    • 12:20 13:30
      Lunch 1h 10m
    • 13:30 16:00
      Registration
    • 16:00 16:20
      Welcome and introduction 20m
    • 16:20 17:00
      Self presentations 40m

      One minute-one slide self presentations

    • 17:15 17:30
      Transport to Split 15m
    • 17:30 19:30
      Visit of Split old town 2h
    • 19:30 21:30
      Welcome Dinner - Konoba Varos 2h

      The dinner will take place at the Konoba (Tavern) Varos
      Tavern "Varos"
      Ban Mladenova 9
      21 000 Split
      Croatia
      Website: http://www.konobavaros.com/hr/

    • 07:30 08:30
      Breakfast 1h
    • 08:45 09:45
      Opening Session 1h
      Speakers: Alberto Pace (CERN), Ivica Puljak (University of Split. Fac.of Elect. Eng., Mech. Eng. and Nav.Architect. (HR)), Ivica Puljak (Technical University of Split FESB), Toni Sculac (University of Split Faculty of Science (HR))
    • 09:45 10:15
      Coffee break 30m
    • 10:15 11:15
      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:15 12:15
      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
    • 12:15 13:00
      Lunch 45m
    • 13:00 14:00
      Study time or sports 1h
    • 14:15 15:15
      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
    • 15:15 15:45
      Coffee break 30m
    • 15:45 17:45
      Technologies and Platforms - exercise 2h
      Speaker: Andrzej Nowak
    • 17:45 18:45
      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
    • 19:15 20:15
      Dinner at MEDILS 1h
    • 07:30 08:30
      Breakfast 1h
    • 08:45 09:45
      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: Sebastien Ponce (CERN)
    • 09:45 10:00
      Announcements 15m
    • 10:00 10:15
      Coffee break 15m
    • 10:15 11:15
      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)
    • 11:15 12:15
      Technologies and Platforms - exercise 1h
      Speaker: Andrzej Nowak
    • 12:15 13:00
      Lunch 45m
    • 13:00 14:00
      Study time or sports 1h
    • 14:00 14:20
      Technologies and Platforms - exercise debriefing 20m
      Speaker: Andrzej Nowak
    • 14:20 15:20
      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)
    • 15:20 15:45
      Coffee break 25m
    • 15:45 18:45
      Optimizing existing large codebase - exercise 3h

      Optimisation of an existing, production grade large codebase

      Speaker: Sebastien Ponce (CERN)
    • 19:15 20:15
      Dinner at MEDILS 1h
    • 07:30 08:30
      Breakfast 1h
    • 08:45 09:45
      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 (Aix Marseille Univ, CNRS/IN2P3, CPPM, Marseille, France)
    • 09:45 10:00
      Announcements 15m
    • 10:00 10:15
      Coffee break 15m
    • 10:15 11:15
      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:15 12:15
      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 (Aix Marseille Univ, CNRS/IN2P3, CPPM, Marseille, France)
    • 12:15 12:20
      School photo 5m
    • 12:30 13:15
      Lunch 45m
    • 13:20 18:05
      Excursion to Omis / Cetina - BUS LEAVES AT 13:20 4h 45m
    • 19:00 20:30
      Excursion dinner 1h 30m
    • 07:30 08:30
      Breakfast 1h
    • 08:45 09:45
      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)
    • 09:45 10:00
      Announcements 15m
    • 10:00 10:15
      Coffee break 15m
    • 10:15 11:15
      Practical vectorization - exercise 1h
      Speaker: Sebastien Ponce (CERN)
    • 11:15 12:15
      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)
    • 12:15 13:00
      Lunch 45m
    • 13:00 15:00
      Study time or sports 2h
    • 15:00 15:20
      Optimisation + vectorization - exercise debriefing 20m
      Speaker: Sebastien Ponce (CERN)
    • 15:20 16:40
      Programming for heterogeneous architectures - exercise 1h 20m
      Speakers: Daniel Campora (Nikhef National institute for subatomic physics (NL)), Dorothea Vom Bruch (Aix Marseille Univ, CNRS/IN2P3, CPPM, Marseille, France)
    • 16:40 17:10
      Coffee break 30m
    • 17:10 18:30
      Programming for heterogeneous architectures - exercise 1h 20m
      Speakers: Daniel Campora (Nikhef National institute for subatomic physics (NL)), Dorothea Vom Bruch (Aix Marseille Univ, CNRS/IN2P3, CPPM, Marseille, France)
    • 19:15 20:15
      Dinner at MEDILS 1h

      IESC

    • 07:30 08:30
      Breakfast 1h
    • 08:45 10:00
      Programming for heterogeneous architectures - exercise 1h 15m
      Speakers: Daniel Campora (University of Maastricht), Dorothea Vom Bruch (Aix Marseille Univ, CNRS/IN2P3, CPPM, Marseille, France)
    • 10:00 10:15
      Coffee break 15m
    • 10:15 11:30
      Programming for heterogeneous architectures - exercise 1h 15m
      Speakers: Daniel Campora (University of Maastricht), Dorothea Vom Bruch (Aix Marseille Univ, CNRS/IN2P3, CPPM, Marseille, France)
    • 11:30 11:45
      Announcements 15m
    • 11:45 12:15
      Programming for heterogeneous architectures - exercise debriefing 30m
      Speakers: Daniel Hugo Campora Perez (Nikhef National institute for subatomic physics (NL)), Dorothea Vom Bruch (Aix Marseille Univ, CNRS/IN2P3, CPPM, Marseille, France)
    • 12:25 12:30
      Thank you MedILS 5m
    • 12:30 13:15
      Lunch 45m
    • 13:30 14:15
    • 14:15 15:15
      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
    • 15:10 15:55
      Student Lightning talks
      • 15:15
        My current research in the field of Big Data 10m

        My talk would be about our current research in the field of big data, where we try to implement a system that would scale its speedup to over a hundred nodes. Currently, we are working with astronomers and took the simulation and analysis of pulsars as a first use case for our implementation. My colleague, as a Phd in Physics, came up with the calculations of the simulations in python and I translated it into C++ to increase the performance. This first step is done now and we achieved a runtime increase of over factor one hundred by switching to a lower level programming language. The next task will be to decide on an architecture for the parallel processing and I hoped that presenting this at the tCSC could spark some interesting discussions.

        Speaker: Marcel Trattner (HTW Berlin / PUNCH4NFID)
      • 15:25
        Track reconstruction with Quantum Computing 10m

        Quantum Computing is a very promising field that can potentially have a great impact of High Energy Physics. I will give an overview of my PhD project about charged particles track reconstruction using a quantum algorithm.

        Speaker: Davide Nicotra (Nikhef National institute for subatomic physics (NL))
      • 15:35
        Accelerating the ATLAS Calorimeter Trigger with GPUs 10m

        In preparation for the High-Luminosity LHC, the ATLAS Collaboration is interested in evaluating the feasibility of employing hardware acceleration to its software-based high-level trigger. The 16th most costly algorithm in the ATLAS trigger, and the most computationally expensive part of calorimeter reconstruction, is topological clustering, which allows reconstructing the showers that take place in the calorimeters. I would like to present my ongoing efforts to implement a GPU-accelerated alternative to this algorithm, dubbed topo-automaton clustering, and report our current results, with a speed-up of ~6 for di-jet events in run 4 conditions and ~12 for ttbar events in run 3 conditions.

        Speaker: Nuno Dos Santos Fernandes (LIP - Laboratorio de Instrumentação e Física Experimental de Partículas (PT))
    • 15:55 16:30
      Coffee break 35m
    • 16:30 18:00
      Free time 1h 30m
    • 18:00 19:15
      Closing Session 1h 15m
    • 19:30 21:30
      Closing dinner 2h
    • 07:30 08:30
      Breakfast 1h
    • 09:00 11:30
      Departures 2h 30m