Thematic CERN School of Computing on Heterogeneous Architectures

Europe/Belgrade
Room m25/26 (ITS )

Room m25/26

ITS

Savski Nasip 7, Belgrade, Serbia
Alberto Pace (CERN), Kristina Gunne (CERN), Andrzej Nowicki (CERN)
Description

The 14th Thematic CERN School of Computing (tCSC 2024) will take place on June 9-15, 2024. 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 Information Technology School (ITS), situated at the Comtrade Campus in Belgrade, Serbia. CSC students will have access to modern lecture rooms, labs and a sports hall as well as restaurants and cafeterias. The campus is situated in the new Belgrade area by the Danube river, only a short busride from the old city center of Belgrade

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.

Important Dates

  • Wednesday March 27 - applications deadline
  • Wednesday April 10 - invitations sent to the selected participants
  • Wednesday May 8  - registration fee payment deadline
  • Sunday June 9 - Saturday June 15- the school

                  

CERN School of Computing
    • 15:30 17:00
      Registration at IN Hotel 1h 30m In Hotel Belgrade

      In Hotel Belgrade

    • 17:00 17:20
      Welcome and introduction 20m In Hotel

      In Hotel

    • 17:20 18:00
      Self presentations 40m IN Hotel

      IN Hotel

      One minute-one slide self presentations

    • 18:00 19:30
      Welcome drink at the Hotel Roof top bar 1h 30m Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
    • 19:30 21:00
      Welcome Dinner - IN Hotel 1h 30m IN Hotel

      IN Hotel

      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:00 08:00
      Breakfast 1h IN Hotel

      IN Hotel

    • 08:45 09:45
      Opening Session 1h ITS - IT Club

      ITS - IT Club

      Speaker: Alberto Pace (CERN)
    • 09:45 10:45
      Preparing for the HL-LHC computational challenge 1h ITS - IT Club

      ITS - IT Club

      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)
    • 10:45 11:00
      Announcements 15m Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
    • 11:00 11:30
      Break 30m Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
    • 11:30 12:30
      CPU Hardware Architecture and Evolution 1h ITS Room m25/26

      ITS Room m25/26

      CPU Architecture and High Performance - lecture 1

      • Hardware evolution of the CPU
      • Memory hierarchy, caching, NUMA
      • Microarchitecture of modern CPUs
      Speaker: Guilherme Amadio (CERN)
    • 12:30 13:30
      Performance Analysis on Modern CPUs 1h ITS room m25/26

      ITS room m25/26

      CPU Architecture and High Performance - lecture 2

      • Performance analysis tools for Linux
      • CPU features for performance analysis
      • Top-down microarchitecture analysis
      Speaker: Guilherme Amadio (CERN)
    • 13:30 14:30
      Lunch 1h
    • 14:30 15:30
      CPU Architecture and High Performance - exercise 1 1h ITS room m25/26

      ITS room m25/26

      Speaker: Guilherme Amadio (CERN)
    • 15:30 16:00
      Break 30m Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
    • 16:00 17:00
      Scavenger Hunt in old Belgrade: Transport to the old town of Belgrade
    • 17:00 19:00
      Scavenger Hunt in old Belgrade 2h Belgrade Old Town

      Belgrade Old Town

    • 19:30 21:30
      Dinner in the old town of Belgrade- Klub Knjizevnika 2h

      Francuska 7, Belgrade 11000, Serbia

    • 07:00 08:00
      Breakfast 1h IN Hotel

      IN Hotel

    • 08:45 09:45
      Writing parallel software 1h Room m25/26 (ITS)

      Room m25/26

      ITS

      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:45
      Writing efficient software 1h Room m25/26 (ITS)

      Room m25/26

      ITS

      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)
    • 10:45 11:00
      Announcements 15m Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
    • 11:00 11:30
      Coffee break 30m
    • 11:30 12:30
      Low-level Performance Optimization Guidelines 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia

      CPU Architecture and High Performance - lecture 3

      • Main sources of performance bottlenecks
      • Floating point arithmetics performance
      • Advanced low-level performance tuning
      Speaker: Guilherme Amadio (CERN)
    • 12:30 13:30
      CPU Architecture and High Performance - exercise 2 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
      Speaker: Guilherme Amadio (CERN)
    • 13:30 14:30
      Lunch 1h
    • 14:30 16:00
      Study or sports time 1h 30m
    • 16:00 16:30
      Coffee break 30m
    • 16:30 17:30
      Optimizing existing large codebase 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia

      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)
    • 17:30 18:30
      Data-Oriented Design 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia

      CPU Architecture and High Performance - lecture 4
      - Principles of data-oriented design
      - Memory access and data-type profiling
      - Data structure performance optimization

      Speaker: Guilherme Amadio (CERN)
    • 18:30 19:30
      Study or sports time 1h ITS

      ITS

    • 19:30 21:00
      Dinner at ITS 1h 30m ITS

      ITS

    • 21:00 22:00
      Managing Large Databases: Challenges and Lessons 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia

      With around 100 Oracle databases and several PB of data, CERN faces numerous intriguing challenges and unique caveats in regards to managing the database infrastructure. This lecture aims to provide an overview of both past and current issues and obstacles encountered in the realm of database systems at CERN. By doing so, it seeks to offer valuable insights into potential problems to avoid and effective solutions to address encountered difficulties.

      Speaker: Andrzej Nowicki (CERN)
    • 07:00 08:00
      Breakfast 1h IN Hotel

      IN Hotel

    • 08:45 09:45
      Scientific computing on heterogeneous architectures 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia

      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: Daniel Hugo Campora Perez (NVIDIA)
    • 09:45 10:45
      Optimizing existing large codebase - exercise 1 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia

      Optimisation of an existing, production grade large codebase

      Speaker: Sebastien Ponce (CERN)
    • 10:45 11:00
      Announcements 15m Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
    • 11:00 11:30
      Coffee break 30m
    • 11:30 12:30
      Optimizing existing large codebase - exercise 2 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia

      Optimisation of an existing, production grade large codebase

      Speaker: Sebastien Ponce (CERN)
    • 12:30 12:40
      Student Lightning talks: The Art of Code: Pharo Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
      Convener: Jovan Kupusović
    • 12:40 12:50
      Student Lightning talks: MC-Run: Scalable MC Event Generation and Analysis Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
      Convener: Cedric Verstege (KIT - Karlsruhe Institute of Technology (DE))
    • 12:50 13:00
      Student Lightning talks: Data Processing and Compression on FPGAs Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
      Convener: Peter Hinderberger (Technical University of Munich)
    • 13:00 13:10
      Student Lightning talks: AdePT - accelerating GEANT4 applications on GPUs Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
      Convener: Severin Diederichs (CERN)
    • 13:10 13:20
      Student Lightning talks: Precision physics in current and future collider experiments Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
      Convener: Giacomo Da Molin (Laboratory of Instrumentation and Experimental Particle Physics (PT))
    • 13:20 14:10
      Lunch 50m ITS

      ITS

    • 14:15 14:50
      Transport to Nikola Tesla museum - Departure at 14.15 sharp! 35m Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
    • 15:00 16:00
      Visit to the Nikola Tesla Museum 1h

      https://tesla-museum.org/en/home/

    • 16:00 19:30
      Free time in Belgrade - visits, shopping, resting in a cafe... 3h 30m Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia

      The Tesla museum is located in Vracar, one of the nicest neighborhoods in Belgrade, the Krunska street where the Museum is located is one of the most famous streets in Belgrade.
      Suggested activities, free to chose from
      - A must see: Saint Sava Temple, the 4th biggest Eastern Orthodox church in the world, only about a 10 min walk from the Museum.
      - Tasmajdan Park, with St. Mark’s Church, 10 min from museum.
      - Walk to Kalemegdan park, visit to the Belgrade Fortress (2,3 km from museum)
      https://www.beogradskatvrdjava.co.rs/?lang=en
      - Shopping around in old Belgrade
      - Go to a cafe or pub, a good cafe chain is Kafeterija

      Meeting at 19.30 at Restaurant Smokvica in Molerova 33 (6 min by foot from Nikola Tesla museum)

    • 19:30 21:00
      Dinner in the old town of Belgrade - Smokvica Molerova 1h 30m

      Restaurant Smokvica in Molerova 33

    • 07:00 08:00
      Breakfast 1h IN Hotel

      IN Hotel

    • 08:45 09:45
      Performant programming for GPUs 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia

      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: Daniel Campora (NVIDIA)
    • 09:45 10:45
      Performant programming for GPUs 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia

      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 (NVIDIA)
    • 10:45 11:00
      Announcements 15m
    • 11:00 11:30
      Coffee break 30m
    • 11:30 12:30
      Practical vectorization 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia

      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)
    • 12:30 13:30
      Practical vectorization - exercise 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
      Speaker: Sebastien Ponce (CERN)
    • 13:30 14:30
      Lunch 1h
    • 14:30 16:30
      Study time or sports 2h
    • 16:30 17:00
      Coffee break 30m
    • 17:00 18:00
      Programming for heterogeneous architectures - exercise 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
      Speaker: Daniel Campora (NVIDIA)
    • 18:00 19:00
      Programming for heterogeneous architectures - exercise 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
      Speaker: Daniel Campora (NVIDIA)
    • 19:30 20:30
      Dinner Hotel IN 1h
    • 07:00 08:00
      Breakfast 1h IN Hotel

      IN Hotel

    • 08:45 09:45
      Debrief of exercises 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
    • 09:45 10:45
      Design patterns and best practices 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia

      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 (NVIDIA)
    • 10:45 11:00
      Announcements 15m
    • 11:00 11:30
      Coffee break 30m
    • 11:30 12:30
      Programming for heterogeneous architectures - exercise 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
      Speaker: Daniel Campora (NVIDIA)
    • 12:30 13:30
      Programming for heterogeneous architectures - exercise 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
      Speaker: Daniel Campora (NVIDIA)
    • 13:30 14:30
      Lunch 1h
    • 14:30 15:45
      Exam 1h 15m Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
    • 15:45 16:20
      Coffee break 35m
    • 16:20 17:20
      Closing Session 1h Comtrade Auditorium

      Comtrade Auditorium

    • 17:20 18:00
      Free time 40m
    • 18:00 19:30
      CERN outreach 1h 30m Comtrade Auditorium

      Comtrade Auditorium

      Speakers: Alberto Pace (CERN), Sebastien Ponce (CERN)
    • 19:30 21:30
      Closing dinner/party at ITS IT Club 2h
    • 07:30 08:30
      Breakfast 1h Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia
    • 09:00 11:30
      Departures 2h 30m Room m25/26

      Room m25/26

      ITS

      Savski Nasip 7, Belgrade, Serbia