Skip to content

April C/C++ Meetup

Photo of Don
Hosted By
Don and 3 others
April C/C++ Meetup

Details

Hello everyone,

Our next meetup will be sponsored by Zalando (https://www.zalando.com/) in their Dublin office at Grand Canal Quay. We're really excited to visit their wonderful offices!

https://secure.meetupstatic.com/photos/event/5/d/2/a/600_459383850.jpeg

As usual, this event will be as informal as possible and we'll have some pizza and beer to help everyone enjoy the evening and socialise.

Continuing our series of deep dives into modern C++, for this event we will have the following talks:

  1. Allocators in C++17 by Justin Durkan from Nitro

  2. Post-modern C++17 abstractions for heterogeneous computing with Khronos OpenCL SYCL by Ronan Keryell from Xilinx Research Labs

Abstract for Ronan's talk:

Computing architectures nowadays are huge multi-processor system-on-chips with different kind of processors, GPU, configurable specific accelerators (video CODEC...), reconfigurable programmable logic (FPGA), various hierarchies of memory and memory interfaces, configurable IO and network support, security support, power control, etc. High-performance applications may use a hierarchy of such system up to fill up a full-scale data-center.

So the programmer is facing nowadays a fractal architecture, demanding also more and more control for power efficiency. This tends to require a dense fractal set of skills and tools.

OpenCL SYCL C++ is a new open standard from Khronos Group aiming at solving some of the programming issues related to heterogeneous computing. This pure C++17 domain-specific embedded language allows the programmer to write single-source C++17 host code with accelerated code expressed as functors. The data accesses are described with accessor objects that implicitly define a task graph that can be asynchronously scheduled on a distributed-memory system including several CPU and accelerators.

Since this programming model is quite generic, we will end by introducing some extensions we study at Xilinx within the https://github.com/triSYCL/triSYCL open source implementation to optimize FPGA usage with the concept of pipes to define 1-to-1 connections between kernels in the task graph without requiring expensive memory bandwidth.

As this talk is focused on C++, we will also introduce some interesting features of C++17 and other C++ frameworks to address the issue of heterogeneous computing.

This event will be as informal as possible and we'll have some pizza and beer to help everyone enjoy the evening and socialise. Please feel free to interrupt the speakers if you have any questions.

Speaker bios:

  • Ronan Keryell is principal software engineer at Xilinx Research Labsin Dublin (Ireland), working on high-level programming models forFPGA, with the open source SYCL implementationhttps://github.com/triSYCL/triSYCL .He is member of the Khronos Group OpenCL, SYCL & ISO C++ committees.
    Ronan Keryell received his MSc in Electrical Engineering and PhD inComputer Science from École Normale Supérieure of Paris & Universityof Paris Sud (France), on the design of a massively parallelRISC-based VLIW-SIMD graphics computer and its programmingenvironment. He was assistant professor in the Computer Sciencedepartment at MINES ParisTech and later at Télécom Bretagne (France),working on automatic parallelization, compilation of PGAS languages(High-Performance Fortran), high-level synthesis and co-design,networking and secure computing. He was co-founder of 3 start-ups,mainly in the area of High Performance Computing, and was thetechnical lead of the Par4All automatic parallelizer at SILKAN,targeting OpenMP, CUDA & OpenCL from sequential C & Fortran. Beforejoining Xilinx, he worked at AMD on programming models for GPU.

Thanks Zalando for offering to host us!

PS: If anyone is interested in giving a talk for this meetup group or for hosting future events, please feel free to reach any of the organisers.

Photo of Dublin C++ User Group group
Dublin C++ User Group
See more events
zalando
3 grand canal quay, Dublin 2 · Dublin