Skip to content

2023

xDSL at ISC 2023

ISC 2023 runs between Sunday the 21st and Thursday the 25th of May, and sees the world of HPC descend on Hamburg, Germany, to discuss the latest advances in the field and share latest research. It is a busy week with many different activities going on, and the wider ExCALIBUR programme has published a blog article highlighting all the events that are going on which are associated with the wider ExCALIBUR programme.

xDSL is involved in three activities at ISC. Firstly, we have a project poster which will be displayed from Monday at 3pm until the Wednesday and highlights the major objectives and achivements to date of xDSL. The purpose is to both share with the HPC community what we are doing, and also encourage new groups to join us and leverage xDSL for their own work.

We are also involved in the Plasma-PEPSC – Pushing Flagship Plasma Simulation Codes to Tackle Exascale-Enabled Grand Challenges via Performance Optimisation and Codesign Birds of a Feather (BoF) session, which is running Tuesday 23rd of May between 9am and 10am in Hall E and aims to discuss the challenges associated with running plasma physics simulation codes on exascale supercomputers. Our input is around domain specific languages and how these can help scientists to abstractly describe their problem at the mathematical level but still target a rich variety of hardware.

Our activities conclude with the Second Combined Workshop on Interactive and Urgent Supercomputing which xDSL is a co-organiser of and will see the challenges that our community faces in enabling interactive and urgent workloads on supercomputers being focussed upon between 9am and 1pm in Hall Y6 on Thursday 25th of May.

It promises to be a busy week! If you wish to find out more about xDSL then pop by the EPCC booth (G715)

xDSL at Durham HPC Days

Between Tuesday 16th and Friday 19th of May Durham HPC Days was held in the Department of Computer Science at Durham University. A focus session was held on ExCALIBUR and specifically the novel hardware that has been made availble as part of the ExCALIBUR H&ES programme. However, novel hardware is of little use if scientific software developers are unable to programme it, and therefore xDSL gave a talk on our efforts to improve the field of Domain Specific Languages by developing a common ecosystem.

We described how MLIR and LLVM are ideal to solving the problems around siloed DSL ecosystems, before highlighting how xDSL enables DSL developers to construct a thin abstraction layer atop our Python based ecosystem. Some of our work on the PSyclone and Devito DSLs was then discussed, with the point being that whilst these DSLs are very different, for instance PSyclone is Fortran based whereas Devito is Python based, they can still leverage the same underlying compiler infrastructure and when running on ARCHER2 we observe performance benefits and significant code level reductions compared to their existing bespoke compilers.

The workshop was a fanstastic event, with a series of very interesting talks from a wide ranging audience and it was very useful for us to gain feedback from them around our existing and planned activities.

MLIR hackathon and workshop

Starting Monday 1st of May, we hosted a week long xDSL/MLIR hackathon that culminated in an MLIR workshop on 9th of May in Edinburgh. The idea of the hackathon was to bring together those who are using, an those who are interested in using, xDSL with xDSL developers to further enhance the ecosystem and support new, novel use-cases. There was strong involvement from the CONVOLVE project where a major focus was how to leverge xDSL and MLIR to enable efficient programming of the PULP snitch architecture, culminating in a new snitch and RISC-V dialect being added to xDSL.

We also spent time working on the core HPC dialects of xDSL, with enhancements made especially around the halo and MPI dialects in order to ensure that these provide good performance.

The hackathon culminated on Tuesday the 9th of May with an MLIR workshop organised by xDSL. We had a wide variety of speakers, from those involved in the xDSL project developing dialects and DSLs atop the technology, to those who are heavily leveraging MLIR and interested in the productivity enhancements provided by xDSL. The workshop culminated in round table discussions, where a series of topics were discussed in 30 minute sessions and the 40 or-so workshop participants selected the topic most relavent to them. These ranged from new vectorisation standards, to improved C frontends.

Overall the week was very tiring but a great success, special mentio should be given to Arjun Pitchanathan and Anton Lydike who undertook much of the organisation.

ETH Zurich presentation

This week saw xDSL’s Michel Weber give a presentation at the ETH Zurich computer science research lab seminar about the xDSL project. Michel was talking about how, in the past year or so, xDSL has grown into a fully fledged open source compiler infrastructure library that enables programmers to build compilers in a high productivity manner.

xDSL has been especially useful in Michel’s work as he is focussed around enriching database abstractions using compilation. With xDSL able to handle much of the overhead of writing DSLs, this significantly lowers the barrier to entry in fast prototyping for these architectures.

Michel has also been a core contributor to the central xDSL framework, and so was uniquely placed to give researchers at ETH Zurich an insight into what we believe xDSL can contribute and the current challenges. The slides are available to view here.

New year, new hackathon

Last week 2023 got off to a strong, but windy, start with an all week xDSL hackathon held in Edinburgh. With in-person participants from ETH Zurich and Imperial, and online attendees from as far away as Mumbai in India, it was a great opportunity to prioritise the list of tasks we wanted to get sorted and make that happen.

One of the exciting aspects about these hackathon (apart from all the tasty treats throughout the day!) is how, from day to day or even hour to hour, different groups form, work on something, and then break apart once the task has been completed for the cycle to restart all over again! An area of high priority during the session was the xDSL parsing functionality, which had been developed early on during the project and then been updated but without much overarching design. This was completely rewritten, and some enhancements to how people use IRDL were also developed which will find their way into the next release.

We also made a strong start on bringing over the GPU dialect and cleaning this up (watch this space, it will be available soon!) and the most obvious change has been the website, where a revamp of the main website has been undertaken. This is especially nice as it enabled us to bring in some of the Jupyter notebooks that we have been developing for interested users to experiment with online. We also discovered that Anton, who joined the project late last year, is a highly skilled photographer - he was busy taking photos of everyone (and the rather windswept group photo!) for the website’s new team page.