Indico celebrates its 20th anniversary! Check our blog post for more information!

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 12:45
      Registration 1h 45m
    • 13:00 13:45
      Lunch 45m
    • 14:00 15:30
      Registration / Coffee break 1h 30m
    • 15:30 17:00
      Opening Ceremony 1h 30m
      Speakers: Frederic Hemmer (CERN), Ivica Puljak (University of Split, FESB), Sebastian Lopienski (CERN)
      • Welcome to University of Split, FESB 15m
      • Welcome to Croatia, Dalmatia and Split 15m
        Speaker: Ivica Puljak (University of Split, FESB)
      • Computing challenges for LHC 15m
        Speaker: Frederic Hemmer (CERN)
      • Introduction to CERN School of Computing 15m
        Speaker: Sebastian Lopienski (CERN)
    • 17:30 18:30
      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
    • 18:30 19:30
      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
    • 20:00 21:45
      Outside Welcome Dinner 1h 45m
    • 10:00 10:15
      Announcements 15m
    • 10:15 11: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
    • 11:15 11:45
      Coffee 30m
    • 11:45 12:45
      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
    • 13:00 13:45
      Lunch 45m
    • 14:00 15:45
      Study time and/or daily sports 1h 45m
    • 15:45 16:15
      Coffee 30m
    • 16:15 17:15
      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
    • 17:30 18:30
      Technologies and Platforms - exercise 1 1h
      Speaker: Andrzej Nowak
    • 18:30 19:30
      Technologies and Platforms - exercise 2 1h
      Speaker: Andrzej Nowak
    • 20:00 21:00
      Dinner at MEDILS 1h
    • 21:00 22:00
      Special evening talk: Future of the Universe and of Humanity 1h
      Speaker: Ivica Puljak (University of Split, FESB)
    • 09:00 10:00
      Technologies and Platforms - exercise 3 1h
      Speaker: Andrzej Nowak
    • 10:00 11:00
      Technologies and Platforms - exercise 4 1h
      Speaker: Andrzej Nowak
    • 11:00 11:30
      Coffee 30m
    • 11:30 11:45
      Announcements 15m
    • 11:45 12: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: Daniel Campora (Nikhef National institute for subatomic physics (NL))
    • 13:00 13:45
      Lunch 45m
    • 14:00 15:30
      Study time and/or daily sports 1h 30m
    • 15:30 15:45
      Coffee 15m
    • 15:45 16:00
      Official School Photo 15m
    • 16:00 17:15
    • 17:30 18:30
      Parallel and Optimised Scientific Software - exercise 3 1h
      Speaker: Sebastien Ponce
    • 18:30 19:30
      Parallel and Optimised Scientific Software - exercise 4 1h
      Speaker: Sebastien Ponce
    • 20:00 21:00
      Dinner at MEDILS 1h
    • 09:00 10:00
      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
      • Debugging and profiling a GPU application
      Speaker: Daniel Campora (Nikhef National institute for subatomic physics (NL))
    • 10:00 11:00
      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
    • 11:00 11:15
      Announcements 15m
    • 11:15 11:45
      Coffee 30m
    • 11:45 12:45
      Parallel cross-architecture programming 1h

      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 13:45
      Lunch 45m
    • 14:00 19:00
      Special sports afternoon 5h Cetina gorge

      Cetina gorge

      Rafting near Omis, Free time in Omis

    • 19:00 21:00
      Outside dinner 2h Radmanove Mlinice

      Radmanove Mlinice

      http://www.radmanove-mlinice.hr/index.php/en/radman-s-mills
    • 09:00 10:00
      Programming for Heterogeneous Architectures - exercise 1 1h
      Speaker: Daniel Campora (Nikhef National institute for subatomic physics (NL))
    • 10:00 11:00
      Programming for Heterogeneous Architectures - exercise 2 1h
      Speaker: Daniel Campora (Nikhef National institute for subatomic physics (NL))
    • 11:00 11:30
      Coffee 30m
    • 11:30 11:45
      Announcements 15m
    • 11:45 12:45
      Design patterns and best practices 1h

      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 13:45
      Lunch 45m
    • 14:00 15:45
      Study time and/or daily sports 1h 45m
    • 15:45 16:15
      Coffee 30m
    • 16:15 17: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
    • 17:30 18:30
      Parallel and Optimised Scientific Software - exercise 1 1h

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

      Speaker: Sebastien Ponce
    • 18:30 19:30
      Parallel and Optimised Scientific Software - exercise 2 1h

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

      Speaker: Sebastien Ponce
    • 20:00 21:00
      Dinner at MEDILS 1h
    • 09:00 10:00
      Programming for Heterogeneous Architectures - exercise 3 1h
      Speaker: Daniel Campora (Nikhef National institute for subatomic physics (NL))
    • 10:00 11:00
      Programming for Heterogeneous Architectures - exercise 4 1h
      Speaker: Daniel Campora (Nikhef National institute for subatomic physics (NL))
    • 11:00 11:30
      Coffee 30m
    • 11:30 11:45
      Announcements 15m
    • 11:45 12:45
      Summary and future technologies overview 1h

      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 13:45
      Lunch 45m
    • 14:00 15:00
      Exam 1h
    • 16:30 17:00
      Coffee 30m
    • 17:00 18:15
      Closing Session 1h 15m
    • 18:15 20:00
      Visit to Split 1h 45m Split

      Split

    • 20:00 21:45
      Outside Closing Dinner 1h 45m
    • 09:00 11:00
      Departure 2h