Thematic CERN School of Computing 2020Cancelled

Europe/Zagreb
Split, Croatia

Split, Croatia

Ivica Puljak (University of Split, FESB), Sebastian Lopienski (CERN), Joelma Tolomeo (CERN)
Description

Due to COVID-19, the Thematic CERN School of Computing 2020 is cancelled. Thank you for your interest in the school, and we hope to welcome you at the tCSC 2021. 


The 8th Thematic CERN School of Computing (tCSC 2020) will take place on June 7-13, 2020 in the city of Split, Croatia.

The theme of the School is "Efficient Scientific Software for Heterogeneous Architectures" - see the academic programme for more details.

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 now closed.

tCSC 2020 is organized by CERN in collaboration with the University of Split (FESB) and is 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.

Important Dates

  • Thursday 27 February 2020 - deadline for application.
  • Tuesday 3 March - you will be informed about the outcome of the selection by email.
  • Sunday 5 April - latest date for School fees payment if you are accepted. On hold until new communication.
  • Sunday 7 June morning - student arrivals and registration at MEDILS - Opening ceremony starts at 15:00.
  • Saturday 13 June morning - departure.

                   

 

    • 11:00
      Registration
    • 13:00
      Lunch
    • 14:00
      Registration / Coffee break
    • 1
      Opening Ceremony
      Speakers: Frederic Hemmer (CERN), Ivica Puljak (University of Split, FESB), Sebastian Lopienski (CERN)
      • a) Welcome to University of Split, FESB
      • b) Welcome to Croatia, Dalmatia and Split
        Speaker: Ivica Puljak (University of Split, FESB)
      • c) Computing challenges for LHC
        Speaker: Frederic Hemmer (CERN)
      • d) Introduction to CERN School of Computing
        Speaker: Sebastian Lopienski (CERN)
    • 2
      Introduction to efficient computing

      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
    • 3
      Writing parallel software

      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
    • 20:00
      Outside Welcome Dinner
    • 4
      Announcements
    • 5
      Hardware evolution and heterogeneity

      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:15
      Coffee
    • 6
      Modern programming languages for HEP

      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
    • 13:00
      Lunch
    • 14:00
      Study time and/or daily sports
    • 15:45
      Coffee
    • 7
      Data-oriented design

      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
    • 8
      Technologies and Platforms - exercise 1
      Speaker: Andrzej Nowak
    • 9
      Technologies and Platforms - exercise 2
      Speaker: Andrzej Nowak
    • 20:00
      Dinner at MEDILS
    • 10
      Special evening talk: Future of the Universe and of Humanity
      Speaker: Ivica Puljak (University of Split, FESB)
    • 11
      Technologies and Platforms - exercise 3
      Speaker: Andrzej Nowak
    • 12
      Technologies and Platforms - exercise 4
      Speaker: Andrzej Nowak
    • 11:00
      Coffee
    • 13
      Announcements
    • 14
      Scientific computing on heterogeneous architectures

      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 Campora (Nikhef National institute for subatomic physics (NL))
    • 13:00
      Lunch
    • 14:00
      Study time and/or daily sports
    • 15:30
      Coffee
    • 15:45
      Official School Photo
    • 15
    • 16
      Parallel and Optimised Scientific Software - exercise 3
      Speaker: Sebastien Ponce
    • 17
      Parallel and Optimised Scientific Software - exercise 4
      Speaker: Sebastien Ponce
    • 20:00
      Dinner at MEDILS
    • 18
      Programming for GPUs

      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
      • Debugging and profiling a GPU application
      Speaker: Daniel Campora (Nikhef National institute for subatomic physics (NL))
    • 19
      Optimizing existing large codebase

      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
    • 20
      Announcements
    • 11:15
      Coffee
    • 21
      Parallel cross-architecture programming

      Programming for Heterogeneous Architectures - lecture 3

      • Data locality, coalesced memory accesses, tiled data processing
      • Control flow, synchronization, atomics
      • Other standards: SYCL, HIP, OpenCL
      • Middleware libraries and cross-architecture compatibility
      Speaker: Daniel Campora (Nikhef National institute for subatomic physics (NL))
    • 13:00
      Lunch
    • 14:00
      Special sports afternoon Cetina gorge

      Cetina gorge

      Rafting near Omis, Free time in Omis

    • 19:00
      Outside dinner Radmanove Mlinice

      Radmanove Mlinice

      http://www.radmanove-mlinice.hr/index.php/en/radman-s-mills
    • 22
      Programming for Heterogeneous Architectures - exercise 1
      Speaker: Daniel Campora (Nikhef National institute for subatomic physics (NL))
    • 23
      Programming for Heterogeneous Architectures - exercise 2
      Speaker: Daniel Campora (Nikhef National institute for subatomic physics (NL))
    • 11:00
      Coffee
    • 24
      Announcements
    • 25
      Design patterns and best practices

      Programming for Heterogeneous Architectures - lecture 4

      • GPU streams, pipelined memory transfers
      • Good practices: single precision, branchless, avoid register spilling, convert the problem
      • Reusable parallel design patterns with real-life applications
      • Under the hood: Warps, masked execution, floating point rounding
      Speaker: Daniel Campora (Nikhef National institute for subatomic physics (NL))
    • 13:00
      Lunch
    • 14:00
      Study time and/or daily sports
    • 15:45
      Coffee
    • 26
      Practical vectorization

      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
    • 27
      Parallel and Optimised Scientific Software - exercise 1

      Optimisation of an existing, production grade large codebase - exercise 1

      Speaker: Sebastien Ponce
    • 28
      Parallel and Optimised Scientific Software - exercise 2

      Optimisation of an existing, production grade large codebase - exercise 2

      Speaker: Sebastien Ponce
    • 20:00
      Dinner at MEDILS
    • 29
      Programming for Heterogeneous Architectures - exercise 3
      Speaker: Daniel Campora (Nikhef National institute for subatomic physics (NL))
    • 30
      Programming for Heterogeneous Architectures - exercise 4
      Speaker: Daniel Campora (Nikhef National institute for subatomic physics (NL))
    • 11:00
      Coffee
    • 31
      Announcements
    • 32
      Summary and future technologies overview

      Technologies and Platforms - lecture 4

      • Teaching program summary and wrap-up
      • Next-generation memory technologies and interconnect
      • Rack-sized data centres and future computing evolution
      Speaker: Andrzej Nowak
    • 13:00
      Lunch
    • 33
      Exam
    • 16:30
      Coffee
    • 34
      Closing Session
    • 18:15
      Visit to Split Split

      Split

    • 20:00
      Outside Closing Dinner
    • 09:00
      Departure