6th  Inverted  CERN School of Computing 2013
25-26 February, CERN
 

GPU computing and its applications in High Energy Physics

Lecturer:

Felice Pantaleo

A few questions

  • Can CPU and GPU run in parallel?

  • GPU computing vs CPU-only code: what perf. gain?

  • Are GPUs ready for real-time applications?

All the answers at iCSC

The use of accelerators, in particular of Graphic Processing Units (GPUs), in High Performance Scientific Computing is growing very fast since few years. GPUs have brought desktop and laptop computers to the Terascale (i.e. bringing computational power beyond a Teraflop), clusters to the Petascale and, in the foreseeable future, supercomputers to the Exascale.
In the field of high energy physics, several groups are pursuing the use of GPUs for data analysis ( such as Maximum Likelihood fit inside the
RooFit) , for Monte Carlo simulations of particle interactions inside the Geant4 framework as well as in the reconstruction of complex events.


In this series of lectures, the lecturer will introduce GPU programming using CUDA through examples and will show how GPUs can be employed for taking decisions in a trigger system, both as coprocessors in high level software trigger or "embedded" in real-time, fixed-latency hardware trigger.

 

Targeted audience :

This series of three lectures targets any computer scientists or physicists interested in better understanding the virtualization and cloud concepts.



Lecture 1

Theme:
GPU computing and its applications in High Energy Physics

Lecture: Introduction to parallel computing on GPUs

A few questions addressed in the lecture

Monday  25 February

 

10:15 11:10

Lecture
1

 Introduction to parallel computing on GPUs

Felice Pantaleo

Description

All computing systems, from mobile to supercomputers, are becoming heterogeneous parallel computers using both multi-core CPUs and many-thread GPUs for higher power efficiency and computation throughput.
While the computing community is racing to build tools and libraries to ease the use of these heterogeneous parallel computing systems, effective and confident use of these systems will always require knowledge about the low-level programming interfaces in these systems.
This lecture is designed to introduce through examples, based on the CUDA programming language, the three abstractions that make the foundations of GPU programming:

- Thread hierarchy
- Synchronization
- Memory hierarchy/Shared Memory

The aim of this lecture is to give the audience a solid foundation on which to start building their own first GPU application.

Audience and benefits
This lecture targets physicists and engineers who are interested in improving the performance of their software by using off-the-shelf graphic car.

After this lecture, the attendees are expected to have a good understanding of the principles that govern parallel programming in CUDA and will be able to write their first GPU-accelerated application.

Pre-requisite
Listeners don't need to have advanced knowledge about parallel computing or GPU programming

 




Lecture 2

Theme:
GPU computing and its applications in High Energy Physics

Lecture: Use of GPUs for triggering in HEP experiments

A few questions addressed in the lecture

Monday  25 February

 

11:30 12:25

Lecture
2

Use of GPUs for triggering in HEP experiments

Felice Pantaleo

Description

This lecture describes a pilot project for the use of GPUs in a real-time triggering application in the early trigger stages at the
NA62 experiment at CERN, and the results of the first field tests together with a prototype data acquisition (DAQ) system.

This pilot project within NA62 aims at integrating GPUs into the central L0 trigger processor, and also to use them as fast online processors for computing trigger primitives. The online use of GPUs would allow the computation of more complex trigger primitives already at this first trigger level.

Audience and benefits
This lecture targets physicists and engineers who are involved in the design of future triggering systems.

 

After this lecture, the attendees are expected to have a good understanding of the reason why GPUs are considered a key technology for the development of a "software-based" triggering system.

 

Pre-requisite knowledge and dependencies
Participants having not attended lecture 1 may have difficulties to fully follow this lecture, if they are not somewhat familiar with GPU programming principles and abstractions.





     
  GPU computing and HEP  
Lecture 1
Lecture 2
  All lectures  
     
  Computer vision  
  Lecture 3  
  Lecture 4  
  Lecture 5  
  All lectures  
     
  Testing methods and tools  
Lecture 6
     
  Grid interpretation  
  Lecture 7  
     
  Programme overview  
  All lectures at iCSC2013  
  All questions addressed  
     
  Handouts  
     

 

Copyright CERN

Print version