We are happy to announce that CERN came up to us with the request of organizing a joint workshop on alpaka programming. The “alpaka parallel programming” takes place from 29 June to 3 July 2020. Originally planned for the end of April as a one-week presence workshop at CERN in Geneva, it had to be postponed due to the corona pandemic and will be held as an online event.
But what does “alpaka” actually mean? How is alpaka used in science? And what can the participants take with them? We interviewed one of the organizers, CASUS scientist Jan Stephan.
Jan, what does alpaka mean and what is the aim of the workshop?
Alpaka stands for “Abstraction Library for Parallel Kernel Acceleration”. A (parallel) “kernel” is a program that is executed on specialized computer components. These are called “accelerators”. An accelerator can be a graphics card, for example. The special thing about it is that the same task is executed simultaneously on different data. Let us assume that a hundred pairs of numbers are to be added together. A conventional program would process the additions one after the other. If an accelerator is used, the additions can be performed in parallel, which makes the whole process much faster.
Since there is a multitude of accelerators, programming this hardware is unfortunately not very easy. For example, interfaces from different manufacturers are often not compatible with each other. There are also differences in the programming of different types of accelerators, which have to be considered.
This is where alpaka comes into play: alpaka provides an abstraction layer that largely eliminates these differences from the programmer’s point of view and offers him a uniform interface. This has also sparked interest at CERN: in order to process the very large amounts of data generated there, the use of accelerators is absolutely necessary. The “alpaka Parallel Programming” workshop served the participants as an introduction, so that they can use alpaka in their scientific calculations in the future.
What about the schedule, are there special sessions or keynotes?
The workshop can be imagined like university lectures. We start with the basics: what is alpaka, what can alpaka be used for, etc. On the other days, individual aspects are examined in more detail.
Who are the participants and what is their motivation?
We have about 60 registrations from over 30 universities and institutes worldwide. The participants are mainly physicists from CERN who work on different experiments. Many of them work, for example, on the Large Hadron Collider (LHC), a well-known particle accelerator. Its detectors generate huge amounts of data at high speed of about 25 gigabytes per second – that’s about one Blu-ray per second. Accelerators are needed in order to be able to evaluate these data volumes in a reasonable time. A conventional PC program is no longer sufficient.
Will there be further events and exchanges on the topic and if so, when and where?
This workshop is our premiere in this form and there will certainly be other similar events in the future. We are in permanent contact with CERN and exchange information with our colleagues there.
Jan Stephan is a computer scientist and is currently working on his Engineering Doctorate. In his dissertation, he is developing new programming and performance measurement methods for the next generation of supercomputers – called “Exascale”.
The workshop “alpaka parallel programming” is jointly conducted by CASUS, the HZDR and CERN.