Focus on:
All days
Sep 28, 2020
Sep 29, 2020
Sep 30, 2020
Oct 1, 2020
Oct 2, 2020
Compact style
Indico style
Indico style - inline minutes
Indico style - numbered
Indico style - numbered + minutes
Indico Weeks View
Back to Conference View
Choose Timezone
Use the event/category timezone
Specify a timezone
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
Africa/Conakry
Africa/Dakar
Africa/Dar_es_Salaam
Africa/Djibouti
Africa/Douala
Africa/El_Aaiun
Africa/Freetown
Africa/Gaborone
Africa/Harare
Africa/Johannesburg
Africa/Juba
Africa/Kampala
Africa/Khartoum
Africa/Kigali
Africa/Kinshasa
Africa/Lagos
Africa/Libreville
Africa/Lome
Africa/Luanda
Africa/Lubumbashi
Africa/Lusaka
Africa/Malabo
Africa/Maputo
Africa/Maseru
Africa/Mbabane
Africa/Mogadishu
Africa/Monrovia
Africa/Nairobi
Africa/Ndjamena
Africa/Niamey
Africa/Nouakchott
Africa/Ouagadougou
Africa/Porto-Novo
Africa/Sao_Tome
Africa/Tripoli
Africa/Tunis
Africa/Windhoek
America/Adak
America/Anchorage
America/Anguilla
America/Antigua
America/Araguaina
America/Argentina/Buenos_Aires
America/Argentina/Catamarca
America/Argentina/Cordoba
America/Argentina/Jujuy
America/Argentina/La_Rioja
America/Argentina/Mendoza
America/Argentina/Rio_Gallegos
America/Argentina/Salta
America/Argentina/San_Juan
America/Argentina/San_Luis
America/Argentina/Tucuman
America/Argentina/Ushuaia
America/Aruba
America/Asuncion
America/Atikokan
America/Bahia
America/Bahia_Banderas
America/Barbados
America/Belem
America/Belize
America/Blanc-Sablon
America/Boa_Vista
America/Bogota
America/Boise
America/Cambridge_Bay
America/Campo_Grande
America/Cancun
America/Caracas
America/Cayenne
America/Cayman
America/Chicago
America/Chihuahua
America/Ciudad_Juarez
America/Costa_Rica
America/Creston
America/Cuiaba
America/Curacao
America/Danmarkshavn
America/Dawson
America/Dawson_Creek
America/Denver
America/Detroit
America/Dominica
America/Edmonton
America/Eirunepe
America/El_Salvador
America/Fort_Nelson
America/Fortaleza
America/Glace_Bay
America/Goose_Bay
America/Grand_Turk
America/Grenada
America/Guadeloupe
America/Guatemala
America/Guayaquil
America/Guyana
America/Halifax
America/Havana
America/Hermosillo
America/Indiana/Indianapolis
America/Indiana/Knox
America/Indiana/Marengo
America/Indiana/Petersburg
America/Indiana/Tell_City
America/Indiana/Vevay
America/Indiana/Vincennes
America/Indiana/Winamac
America/Inuvik
America/Iqaluit
America/Jamaica
America/Juneau
America/Kentucky/Louisville
America/Kentucky/Monticello
America/Kralendijk
America/La_Paz
America/Lima
America/Los_Angeles
America/Lower_Princes
America/Maceio
America/Managua
America/Manaus
America/Marigot
America/Martinique
America/Matamoros
America/Mazatlan
America/Menominee
America/Merida
America/Metlakatla
America/Mexico_City
America/Miquelon
America/Moncton
America/Monterrey
America/Montevideo
America/Montserrat
America/Nassau
America/New_York
America/Nome
America/Noronha
America/North_Dakota/Beulah
America/North_Dakota/Center
America/North_Dakota/New_Salem
America/Nuuk
America/Ojinaga
America/Panama
America/Paramaribo
America/Phoenix
America/Port-au-Prince
America/Port_of_Spain
America/Porto_Velho
America/Puerto_Rico
America/Punta_Arenas
America/Rankin_Inlet
America/Recife
America/Regina
America/Resolute
America/Rio_Branco
America/Santarem
America/Santiago
America/Santo_Domingo
America/Sao_Paulo
America/Scoresbysund
America/Sitka
America/St_Barthelemy
America/St_Johns
America/St_Kitts
America/St_Lucia
America/St_Thomas
America/St_Vincent
America/Swift_Current
America/Tegucigalpa
America/Thule
America/Tijuana
America/Toronto
America/Tortola
America/Vancouver
America/Whitehorse
America/Winnipeg
America/Yakutat
Antarctica/Casey
Antarctica/Davis
Antarctica/DumontDUrville
Antarctica/Macquarie
Antarctica/Mawson
Antarctica/McMurdo
Antarctica/Palmer
Antarctica/Rothera
Antarctica/Syowa
Antarctica/Troll
Antarctica/Vostok
Arctic/Longyearbyen
Asia/Aden
Asia/Almaty
Asia/Amman
Asia/Anadyr
Asia/Aqtau
Asia/Aqtobe
Asia/Ashgabat
Asia/Atyrau
Asia/Baghdad
Asia/Bahrain
Asia/Baku
Asia/Bangkok
Asia/Barnaul
Asia/Beirut
Asia/Bishkek
Asia/Brunei
Asia/Chita
Asia/Choibalsan
Asia/Colombo
Asia/Damascus
Asia/Dhaka
Asia/Dili
Asia/Dubai
Asia/Dushanbe
Asia/Famagusta
Asia/Gaza
Asia/Hebron
Asia/Ho_Chi_Minh
Asia/Hong_Kong
Asia/Hovd
Asia/Irkutsk
Asia/Jakarta
Asia/Jayapura
Asia/Jerusalem
Asia/Kabul
Asia/Kamchatka
Asia/Karachi
Asia/Kathmandu
Asia/Khandyga
Asia/Kolkata
Asia/Krasnoyarsk
Asia/Kuala_Lumpur
Asia/Kuching
Asia/Kuwait
Asia/Macau
Asia/Magadan
Asia/Makassar
Asia/Manila
Asia/Muscat
Asia/Nicosia
Asia/Novokuznetsk
Asia/Novosibirsk
Asia/Omsk
Asia/Oral
Asia/Phnom_Penh
Asia/Pontianak
Asia/Pyongyang
Asia/Qatar
Asia/Qostanay
Asia/Qyzylorda
Asia/Riyadh
Asia/Sakhalin
Asia/Samarkand
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Srednekolymsk
Asia/Taipei
Asia/Tashkent
Asia/Tbilisi
Asia/Tehran
Asia/Thimphu
Asia/Tokyo
Asia/Tomsk
Asia/Ulaanbaatar
Asia/Urumqi
Asia/Ust-Nera
Asia/Vientiane
Asia/Vladivostok
Asia/Yakutsk
Asia/Yangon
Asia/Yekaterinburg
Asia/Yerevan
Atlantic/Azores
Atlantic/Bermuda
Atlantic/Canary
Atlantic/Cape_Verde
Atlantic/Faroe
Atlantic/Madeira
Atlantic/Reykjavik
Atlantic/South_Georgia
Atlantic/St_Helena
Atlantic/Stanley
Australia/Adelaide
Australia/Brisbane
Australia/Broken_Hill
Australia/Darwin
Australia/Eucla
Australia/Hobart
Australia/Lindeman
Australia/Lord_Howe
Australia/Melbourne
Australia/Perth
Australia/Sydney
Canada/Atlantic
Canada/Central
Canada/Eastern
Canada/Mountain
Canada/Newfoundland
Canada/Pacific
Europe/Amsterdam
Europe/Andorra
Europe/Astrakhan
Europe/Athens
Europe/Belgrade
Europe/Berlin
Europe/Bratislava
Europe/Brussels
Europe/Bucharest
Europe/Budapest
Europe/Busingen
Europe/Chisinau
Europe/Copenhagen
Europe/Dublin
Europe/Gibraltar
Europe/Guernsey
Europe/Helsinki
Europe/Isle_of_Man
Europe/Istanbul
Europe/Jersey
Europe/Kaliningrad
Europe/Kirov
Europe/Kyiv
Europe/Lisbon
Europe/Ljubljana
Europe/London
Europe/Luxembourg
Europe/Madrid
Europe/Malta
Europe/Mariehamn
Europe/Minsk
Europe/Monaco
Europe/Moscow
Europe/Oslo
Europe/Paris
Europe/Podgorica
Europe/Prague
Europe/Riga
Europe/Rome
Europe/Samara
Europe/San_Marino
Europe/Sarajevo
Europe/Saratov
Europe/Simferopol
Europe/Skopje
Europe/Sofia
Europe/Stockholm
Europe/Tallinn
Europe/Tirane
Europe/Ulyanovsk
Europe/Vaduz
Europe/Vatican
Europe/Vienna
Europe/Vilnius
Europe/Volgograd
Europe/Warsaw
Europe/Zagreb
Europe/Zurich
GMT
Indian/Antananarivo
Indian/Chagos
Indian/Christmas
Indian/Cocos
Indian/Comoro
Indian/Kerguelen
Indian/Mahe
Indian/Maldives
Indian/Mauritius
Indian/Mayotte
Indian/Reunion
Pacific/Apia
Pacific/Auckland
Pacific/Bougainville
Pacific/Chatham
Pacific/Chuuk
Pacific/Easter
Pacific/Efate
Pacific/Fakaofo
Pacific/Fiji
Pacific/Funafuti
Pacific/Galapagos
Pacific/Gambier
Pacific/Guadalcanal
Pacific/Guam
Pacific/Honolulu
Pacific/Kanton
Pacific/Kiritimati
Pacific/Kosrae
Pacific/Kwajalein
Pacific/Majuro
Pacific/Marquesas
Pacific/Midway
Pacific/Nauru
Pacific/Niue
Pacific/Norfolk
Pacific/Noumea
Pacific/Pago_Pago
Pacific/Palau
Pacific/Pitcairn
Pacific/Pohnpei
Pacific/Port_Moresby
Pacific/Rarotonga
Pacific/Saipan
Pacific/Tahiti
Pacific/Tarawa
Pacific/Tongatapu
Pacific/Wake
Pacific/Wallis
US/Alaska
US/Arizona
US/Central
US/Eastern
US/Hawaii
US/Mountain
US/Pacific
UTC
Save
Europe/Zurich
English (United States)
Deutsch (Deutschland)
English (United Kingdom)
English (United States)
Español (España)
Français (France)
Polski (Polska)
Português (Brasil)
Türkçe (Türkiye)
Монгол (Монгол)
Українська (Україна)
中文 (中国)
Login
Inverted CERN School of Computing 2020
from
Monday, September 28, 2020 (2:00 PM)
to
Friday, October 2, 2020 (6:00 PM)
Monday, September 28, 2020
2:00 PM
A word from the IT Department Head
-
Frederic Hemmer
(
CERN
)
A word from the IT Department Head
Frederic Hemmer
(
CERN
)
2:00 PM - 2:10 PM
2:10 PM
Introduction to the Inverted CSC
-
Sebastian Lopienski
(
CERN
)
Introduction to the Inverted CSC
Sebastian Lopienski
(
CERN
)
2:10 PM - 2:15 PM
2:15 PM
Programming Paradigms (lecture)
-
Kilian Lieret
(
Ludwig Maximilian University
)
Programming Paradigms (lecture)
Kilian Lieret
(
Ludwig Maximilian University
)
2:15 PM - 3:15 PM
Ever been to the point where even little improvements require large refactoring efforts or dirty hacks? If only one had made the right choices on the way! This course discusses programming paradigms (functional vs object oriented, imperative vs declarative programming, ...) and introduces common design patterns (reusable solutions to common problems). While theory alone is unlikely to make you a better developer, having an overview of common principles paired with the vocabulary to describe them will make it easier to come up with the right solutions. In the exercises, we refactor various code snippets using the ideas of the lecture. Different approaches and their applicability to HEP problems are being discussed. Basic familiarity with Python is advised for the exercises. This series is aimed at scientists with little formal training in software engineering, but veterans are always welcome to join for additional input in the discussions!
3:25 PM
From the electric pulse to image quality - the analysis chain of imaging detectors (lecture)
-
Rita Roque
(
University of Coimbra
)
From the electric pulse to image quality - the analysis chain of imaging detectors (lecture)
Rita Roque
(
University of Coimbra
)
3:25 PM - 4:25 PM
Imaging gaseous detectors are the base-technology for many applications, such like Medical Imaging and Airport Security, as they are an upgrade to our biologic eyes. The objective of this lecture is to join physics and computing concepts to fully understand the analysis chain of an imaging gaseous detector. We will discuss the physics inside the detector, the engineering that processes the electric pulses, the computing skills behind image reconstruction and come back to the physical concepts by extracting meaningful parameters from the final image. In the exercise session, you will follow these steps yourself by analyzing electric pulses from an oscilloscope, reconstructing an image from a data file and quantifying some important parameters like position resolution and noise.
4:35 PM
Modern C++ vs. its legacy: when stability is more important than performance (lecture)
-
Nis Meinert
(
German Aerospace Center (DLR)
)
Modern C++ vs. its legacy: when stability is more important than performance (lecture)
Nis Meinert
(
German Aerospace Center (DLR)
)
4:35 PM - 5:35 PM
"Leaving no room for a lower-level language", this has always been the declared mantra of the C++ language development. At the same time C++ is an old language and its legacy affects possible performance improvements in the STL due to ABI stability concerns. ABI stands for "Application Binary Interface" and its stability is often put over performance on the one hand while on the other hand, "ABI" or even its stability is not mentioned a single time in the entire C++ standard. In this talk I will explain what ABI stability means, why it is not mentioned in the standard but is still lethal to many proposals, and discuss some recent implications. I will not be able to present solutions to the dilemma; the hope is to encourage attendees to make their mind and to attend ongoing discussions about this vital topic.
Tuesday, September 29, 2020
2:00 PM
Software Design Patterns (lecture)
-
Kilian Lieret
(
Ludwig Maximilian University
)
Software Design Patterns (lecture)
Kilian Lieret
(
Ludwig Maximilian University
)
2:00 PM - 3:00 PM
Ever been to the point where even little improvements require large refactoring efforts or dirty hacks? If only one had made the right choices on the way! This course discusses programming paradigms (functional vs object oriented, imperative vs declarative programming, ...) and introduces common design patterns (reusable solutions to common problems). While theory alone is unlikely to make you a better developer, having an overview of common principles paired with the vocabulary to describe them will make it easier to come up with the right solutions. In the exercises, we refactor various code snippets using the ideas of the lecture. Different approaches and their applicability to HEP problems are being discussed. Basic familiarity with Python is advised for the exercises. This series is aimed at scientists with little formal training in software engineering, but veterans are always welcome to join for additional input in the discussions!
3:10 PM
Modern C++: Everything you (n)ever wanted to know about C++'s Lambdas (lecture)
-
Nis Meinert
(
German Aerospace Center (DLR)
)
Modern C++: Everything you (n)ever wanted to know about C++'s Lambdas (lecture)
Nis Meinert
(
German Aerospace Center (DLR)
)
3:10 PM - 4:25 PM
From a syntactical point of view, the Lambda expression of C++ is nothing but syntactic sugar of a struct with an appropriate call operator overload. On the other hand, this simple syntax is shockingly flexible and allows powerful abstractions in a functional way, while providing elegant and easy to read code in a language that is notoriously famous for being unnecessary clunky and verbose. I will give an overview about the basic syntax and best practices. I will then talk about stateful Lambdas, Lambda inheritance and their real-world applications.
4:35 PM
From the electric pulse to image quality - the analysis chain of imaging detectors (exercise consultation)
-
Rita Roque
(
University of Coimbra
)
From the electric pulse to image quality - the analysis chain of imaging detectors (exercise consultation)
Rita Roque
(
University of Coimbra
)
4:35 PM - 5:05 PM
Imaging gaseous detectors are the base-technology for many applications, such like Medical Imaging and Airport Security, as they are an upgrade to our biologic eyes. The objective of this lecture is to join physics and computing concepts to fully understand the analysis chain of an imaging gaseous detector. We will discuss the physics inside the detector, the engineering that processes the electric pulses, the computing skills behind image reconstruction and come back to the physical concepts by extracting meaningful parameters from the final image. In the exercise session, you will follow these steps yourself by analyzing electric pulses from an oscilloscope, reconstructing an image from a data file and quantifying some important parameters like position resolution and noise. Exercise instructions: 1. Download the Exercises_files.zip and extract the files 2. Upload files to SWAN (https://swan.cern.ch) for CERN users or Google Colab (https://colab.research.google.com) if you do not have CERN account. You will see 5 different files: - 4 .csv files with data for the exercises - Student Version.ipynb, with the guided exercises; - Solutions.ipynb - if you want to do the exercises on your own, do not open this file for now. 3. Open Student Version.ipynb and follow the instructions. 4. When finished or if stuck, check Solutions.ipynb for the answers.
Wednesday, September 30, 2020
2:00 PM
Computational fluid dynamics for physicists and engineers (lecture)
-
Ruchi Mishra
(
Nicolaus Copernicus Astronomical Center
)
Computational fluid dynamics for physicists and engineers (lecture)
Ruchi Mishra
(
Nicolaus Copernicus Astronomical Center
)
2:00 PM - 3:00 PM
Computational fluid dynamics(CFD) is an interdisciplinary approach involving Physics and Computer Science which deals with solving the governing equation of fluid flow. With the increasing advancement of technology, CFD has gained a lot of popularity in wide ranging topics of Physics and Engineering. In this lecture we will look into the basic idea behind CFD, the conservation system of equations governing fluid dynamics, physical domain and equation discretization, use of numerical methods such as Finite difference and Finite volume methods, different boundary conditions and Reimann solvers.
3:00 PM
Group photo
Group photo
3:00 PM - 3:10 PM
We will want to take a "group photo" of the school - a picture of the participants connected to the Zoom room. This group photo, containing a lot of small but recognizable pictures of individual participants, will afterwards be published on the school website. * If you want to be part of it, please enable your camera (or set up a Zoom profile picture) when we will be taking the group photo (technically, screenshots of the Zoom gallery view). * If you prefer not to be included in this group photo, please just keep your camera off, and have no Zoom profile picture set up. In any case, your name will not appear in the final edited group photo.
3:10 PM
Big Data technologies and distributed data processing with SQL (lecture)
-
Emil Kleszcz
(
CERN
)
Big Data technologies and distributed data processing with SQL (lecture)
Emil Kleszcz
(
CERN
)
3:10 PM - 4:10 PM
The interest of many users communities in solutions based on the Big Data ecosystem such as Hadoop is constantly increasing at CERN, including physics experiments, monitoring, and accelerator controls. This lecture will introduce the participant to some of the Big Data technologies that CERN offers for distributed processing. It will cover some history, architecture, and specifics of selected technologies such as the Hadoop, Spark, and Presto for SQL-like data processing. Moreover, this talk will cover the example of using the Big Data tools to speedup some computations on hundreds of terabytes of events coming from the Atlas experiment at CERN.
4:20 PM
Modern C++: Everything you (n)ever wanted to know about C++'s Lambdas (demo)
-
Nis Meinert
(
German Aerospace Center (DLR)
)
Modern C++: Everything you (n)ever wanted to know about C++'s Lambdas (demo)
Nis Meinert
(
German Aerospace Center (DLR)
)
4:20 PM - 5:20 PM
From a syntactical point of view, the Lambda expression of C++ is nothing but syntactic sugar of a struct with an appropriate call operator overload. On the other hand, this simple syntax is shockingly flexible and allows powerful abstractions in a functional way, while providing elegant and easy to read code in a language that is notoriously famous for being unnecessary clunky and verbose. I will give an overview about the basic syntax and best practices. I will then talk about stateful Lambdas, Lambda inheritance and their real-world applications.
Thursday, October 1, 2020
2:00 PM
Heterogeneous computing: Introduction to OpenCL for FPGAs (lecture 1)
-
Miguel Astrain Etxezarreta
(
Universidad Politécnica de Madrid
)
Heterogeneous computing: Introduction to OpenCL for FPGAs (lecture 1)
Miguel Astrain Etxezarreta
(
Universidad Politécnica de Madrid
)
2:00 PM - 3:00 PM
This seminar introduces OpenCL as a heterogeneous programming language. We will analyze the structure of an OpenCL program and how to handle the different elements of OpenCL. Examples of parallel computing are presented to illustrate how to write computing programs in OpenCL. Finally, we discuss how these concepts have to be translated into the FPGA context to achieve high performance. The exercises expand the concepts with example programs. The examples help to understand the role of the host program to allocate memory, schedule tasks, and execute kernels in the OpenCL device. More advanced examples explain optimization decisions made due to hardware particularities.
3:10 PM
Modern C++: Demystifying Value Categories in C++ (lecture 1)
-
Nis Meinert
(
German Aerospace Center (DLR)
)
Modern C++: Demystifying Value Categories in C++ (lecture 1)
Nis Meinert
(
German Aerospace Center (DLR)
)
3:10 PM - 4:10 PM
Value categories are omnipresent in today's C++ code bases. Since the advent of move semantics the field continuously becomes wider and knowing terms such as lvalue and rvalue only from compiler error messages is not enough anymore. I will present an overview about C++ value categories and decay rules, the subtle difference between pointers and references, explain why neither std::move moves, nor std::forward forward values and talk about implication on related topics such as RVO.
4:20 PM
Big Data technologies and distributed data processing with SQL (exercise consultation)
-
Emil Kleszcz
(
CERN
)
Big Data technologies and distributed data processing with SQL (exercise consultation)
Emil Kleszcz
(
CERN
)
4:20 PM - 4:50 PM
The interest of many users communities in solutions based on the Big Data ecosystem such as Hadoop is constantly increasing at CERN, including physics experiments, monitoring, and accelerator controls. This lecture will introduce the participant to some of the Big Data technologies that CERN offers for distributed processing. It will cover some history, architecture, and specifics of selected technologies such as the Hadoop, Spark, and Presto for SQL-like data processing. Moreover, this talk will cover the example of using the Big Data tools to speedup some computations on hundreds of terabytes of events coming from the Atlas experiment at CERN.
5:00 PM
Programming Paradigms and Software Design Patterns (exercise consultation)
-
Kilian Lieret
(
Ludwig Maximilian University
)
Programming Paradigms and Software Design Patterns (exercise consultation)
Kilian Lieret
(
Ludwig Maximilian University
)
5:00 PM - 5:30 PM
Ever been to the point where even little improvements require large refactoring efforts or dirty hacks? If only one had made the right choices on the way! This course discusses programming paradigms (functional vs object oriented, imperative vs declarative programming, ...) and introduces common design patterns (reusable solutions to common problems). While theory alone is unlikely to make you a better developer, having an overview of common principles paired with the vocabulary to describe them will make it easier to come up with the right solutions. In the exercises, we refactor various code snippets using the ideas of the lecture. Different approaches and their applicability to HEP problems are being discussed. Basic familiarity with Python is advised for the exercises. This series is aimed at scientists with little formal training in software engineering, but veterans are always welcome to join for additional input in the discussions!
Friday, October 2, 2020
2:00 PM
Heterogeneous computing: Introduction to OpenCL for FPGAs (lecture 2)
-
Miguel Astrain Etxezarreta
(
Universidad Politécnica de Madrid
)
Heterogeneous computing: Introduction to OpenCL for FPGAs (lecture 2)
Miguel Astrain Etxezarreta
(
Universidad Politécnica de Madrid
)
2:00 PM - 3:00 PM
This seminar introduces OpenCL as a heterogeneous programming language. We will analyze the structure of an OpenCL program and how to handle the different elements of OpenCL. Examples of parallel computing are presented to illustrate how to write computing programs in OpenCL. Finally, we discuss how these concepts have to be translated into the FPGA context to achieve high performance. The exercises expand the concepts with example programs. The examples help to understand the role of the host program to allocate memory, schedule tasks, and execute kernels in the OpenCL device. More advanced examples explain optimization decisions made due to hardware particularities.
3:10 PM
Modern C++: Demystifying Value Categories in C++ (lecture 2)
-
Nis Meinert
(
German Aerospace Center (DLR)
)
Modern C++: Demystifying Value Categories in C++ (lecture 2)
Nis Meinert
(
German Aerospace Center (DLR)
)
3:10 PM - 4:10 PM
Value categories are omnipresent in today's C++ code bases. Since the advent of move semantics the field continuously becomes wider and knowing terms such as lvalue and rvalue only from compiler error messages is not enough anymore. I will present an overview about C++ value categories and decay rules, the subtle difference between pointers and references, explain why neither std::move moves nor std::forward forwards values, and talk about implication on related topics such as RVO.
4:20 PM
Heterogeneous computing: Introduction to OpenCL for FPGAs (demo)
-
Miguel Astrain Etxezarreta
(
Universidad Politécnica de Madrid
)
Heterogeneous computing: Introduction to OpenCL for FPGAs (demo)
Miguel Astrain Etxezarreta
(
Universidad Politécnica de Madrid
)
4:20 PM - 4:50 PM
This seminar introduces OpenCL as a heterogeneous programming language. We will analyze the structure of an OpenCL program and how to handle the different elements of OpenCL. Examples of parallel computing are presented to illustrate how to write computing programs in OpenCL. Finally, we discuss how these concepts have to be translated into the FPGA context to achieve high performance. The exercises expand the concepts with example programs. The examples help to understand the role of the host program to allocate memory, schedule tasks, and execute kernels in the OpenCL device. More advanced examples explain optimization decisions made due to hardware particularities.
4:50 PM
Closing remarks
-
Sebastian Lopienski
(
CERN
)
Closing remarks
Sebastian Lopienski
(
CERN
)
4:50 PM - 5:00 PM