SYCL Practitioners Hackathon 2022 (user group meeting)
SYCL Practitioners Hackathon 2022 (user group meeting)
- Time: Tuesday, 22/11 evening – Wednesday 23/11 afternoon
- Location: Durham University, Department of Computer Science
Programming in SYCL is not a disruptive challenge to experienced programmers, but it requires effort and, in some places, algorithmic redesign to harvest the full potential of SYCL. Throughout this workshop, we
- study one or two example SYCL codes;
- try to reproduce their runtime behaviour;
- discuss to which degree they realise “native” SYCL behaviour, i.e. use the advantages that SYCL offers;
- identify issues around the software stack when we handle the case studies;
- work out if related programming patterns arise in other applications.
Participants are not required to bring along their own SYCL code or to give a talk or to have previously worked with SYCL (though this is an advantage). However, participants are requested to live-code throughout the hackathon: We will focus on our case studies, and work very hands-on/code-on with these examples, i.e. participants are expected to compile and run the code themselves and to engage in this discussion.
The workshop is offered in-person, and we aim for a follow-up event early 2023. If you want to provide a mini-app for this or future sessions, please get in contact with the workshop organisers.
Agenda
The agenda below is preliminary:
- Tuesday, 22/11, 17:00-18:00, MSCS VisLab: Participants meet informally
- Tuesday, 22/11, 18:00-19:00, MSCS VisLab: Welcome note, introduction of workshop concept and pitch of demo code(s) used (incl stream with Intel reps)
- Welcome note (Weinzierl)
- Welcome note (Mahalingam and Mallinson)
- Introduction N-body code (Todd)
- Introduction ExaHyPE’s FV kernel (Weinzierl, Wille)
- Tuesday, 22/11, 19:30, location The Rabbit Hole: Dinner
- Wednesday, 23/11, 9:00-13:00, MSCS VisLab: Hackathon studying one miniapp/code example
The Mathematical Sciences and Computer Science (MSCS) building is on top of the Mountjoy hill on the science campus, next door to Durham’s Botanic Garden. The vis lab is the central laboratory on floor 1 (room MCS1022). If you enter through the main entrance, you walk up the main staircase and enter the room to the left. If you arrive from the car park, you enter the building on floor 1 and walk all the way to the front where you find the vis lab to the right. We can organise a limited number of parking permits upon request. - Wednesday, 23/11, 13:00-14:00, Lunch
- Wednesday, 23/11, 14:00-16:00, Opportunity for participants to study their own codes and to chat with colleagues on SYCL aspects
- Wednesday, 23/11, 16:00-17:00, Public talk: The SYCL GPU vision
(colleagues from Durham will join; streamed) - Wednesday, 23/11, 17:00-19:00, Fireside chat
Participants are able to raise questions with presenters. NDA in place and therefore no streaming. - Wednesday, 23/11, 19:00, Closing pub visit and dinner
Accommodation and travel
There are a few hotels nearby:
- Hotel Indigo (15-20 min walk)
- Premier Inn (20-25 min walk)
- Marriott (15-20 min walk)
- Travelodge (25-30 min walk)
All of these places are within walking distance to the computer science building. Thanks to the generous support by Intel, we can offer travel support on a case-by-case basis. The travel support is primarily aiming for Intel CoE and ExCALIBUR staff. Please contact us via
cs . researchoffice (at) durham . ac . uk
tobias . weinzierl (at) durham.ac.uk
(email both of us) to sign up and ask for support.
Machine access
Participants are expected to organise machine access ahead of time on their own. The machines below are recommended, as we will, throughout the workshop, have high priority access to them and there is experience among the participants with the respective software stacks:
- In general, applicants are highly encouraged to apply for access to the Intel DevCloud
- Durham staff can request access to the NVIDIA A100 cluster NCC in the Department of Computer Science, where they have access to dpc++ built with a CUDA back-end: https://nccadmin.webspace.durham.ac.uk/
- UKRI researchers – most prominently members of the ExCALIBUR programme – can get access to various H&ES testbeds with a oneAPI software stack: https://excalibur.ac.uk/themes/hardware-and-enabling-software/
The Durham machines are described at https://www.dur.ac.uk/icc/cosma/excalibur/, and every UK academic, postdoc and RSE can sign up for these machines.
Cosma
Cosma access to GPU nodes can be acquired through ExCALIBUR. Sign up for an account and use the project do008.
Log into login8.cosma.dur.ac.uk and, from there, ssh into
ga004: 1x MI100
gn001: 10x V100
NCC
If you work on NCC, please use the following nodes:
gpu10: 1x A100 (use module t.b.c.)
gpu11: 1x A100 (use module t.b.c.)
gpu12: 1x A100 (use module t.b.c.)
Codes discussed
We will discuss two particular codes throughout the event, and all participants are encouraged to download and try out these codes themselves:
- N-body code: https://github.com/codeplaysoftware/cuda-to-sycl-nbody
- ExaHyPE’s FV GPU kernels (the code is distributed as part of Peano): https://tobiasweinzierl.webspace.durham.ac.uk/software/peano/
Clone the repo (the compute nodes cannot clone, i.e. you have to use the login8 node for this) via
git clone -b gpus https://gitlab.lrz.de/hpcsoftware/Peano.git
After that, follow the instructions in the file
src/benchmarks/exahype2/euler/kernel-benchmarks/README.md