Skip to content

News

xDSL at HiPEAC 2025

Please join us at the xDSL workshop, on Monday the 20th of January.

The talks will feature a general overview of xDSL, some success stories of xDSL being used in HPC and ML workloads, and some experiments leveraging xDSL infrastructure.

We look forward to seeing you there and discussing how xDSL can help you with your projects!

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.

xDSL at the ExCALIBUR workshop

This week saw the two day ExCALIBUR workshop held at the Met Office where representatives from across the programme met and discussed project-level updates as well as opportunities for collaboration and interaction during the research. There were some very interesting projects presented, and clearly the programme is doing a fantastic job pushing UK science towards exascale and beyond.

As part of this workshop xDSL PI, Tobias Grosser, gave an update about the xDSL project itself and, considering that xDSL has been running for almost a year, this was also an ideal opportunity to take stock of where we are as a project, to reflect on early successes, and refine the strategy going forwards into the next two years. Tobias described the underlying xDSL framework that has been developed in the past 12 months, before highlighting work that has been undertaken to build on this for both the existing PSyclone and Devito DSLs.

The compilers of both these existing DSLs have been enhanced to run on-top of the xDSL stack, with bespoke dialects and transformations provided which are expressed via the IRDL MLIR-DSL. Exploitation of distributed memory parallelism and GPUs is also possible with xDSL, for instance the PSyclone xDSL work already having been demonstrated to run on 32768 cores of ARCHER2 and V100 GPUs. Moving forwards, the integration with xDSL provides numerous opportunities, including the ability to leverage the LLVM ecosystem more widely and easily build upon work being done elsewhere by the community.

DSL PASC mini-symposium

The Platform for Advanced Scientific Computing (PASC) Conference brings together domain scientists, computer scientists, HPC professionals, and vendors to talk about some of the challenges and opportunities we face in HPC. Held annually and located this year in Basel, it will be the first time since 2019 that the conference has been in-person albeit with an additional online component too for those who can not travel.

PASC should be especially interesting this year due to the recent news that the Frontier US machine has broken the exaflop barrier, moving us truely into the exascale era. However a key challenge is being able to exploit such supercomputers, and that is where a lot of the focus of PASC lies. Our interests are obviously around using DSLs to raise the abstraction level, enabling programmers to concentrate on the science of their simulation rather than having to be bogged down with the tricky, low level details of parallelism.

To this end we have organised a mini-symposium around DSLs titled Domain Specific Languages (DSLs) for Revolutionising HPC Code Development: A Panacea or Empty Promises? where we will be bringing together some of the community’s leading players to discuss the role of DSLs and how we should be driving forward this important enabling technology.

There will be three talks and a panel session as part of PASC, where we will start with a talk from Chris Maynard from the Met Office who will be talking about the PSyclone DSL used for climate and weather codes (more details here). This will then be followed by Nicolas Vasilache from Google who will talk about compiler innovations more widely and how recent developments and technology trends are very exciting for this area (more details here). The third talk will be from Daniel Shapero, who is a senior research scientist at the Polar Science Center of the University of Washington, and he will be talking from the user perspective around developing libraries on-top of DSLs (more details here). The session will then conclude with a panel where we will discuss some of the themes raised and challenges identified.

The session is running on Wednesday 29th of June between 2pm and 4pm CEST both in-person and online, if you are interested in attending then you can register for PASC here.

IRDL paper presented at PLDI conference

IRDL is a domain-specific language to define intermediate representations (IRs). This is important because the current state-of-the-art with MLIR is to define a dialect using C++ and MLIR specific constructions which is a complex and time consuming process that required substantial expertise. By contrast IRDL is presented as a set of Python decorators and classes, readily enabling compiler developers to define a dialect and transformations upon this.

Of-course the definition of a DSL for IR construction is not enough, one also needs to demonstrate that this is capable of expressing the wide variety of existing IR dialects, and to that end Fehr analyzed all twenty eight domain-specific IRs developed as part of LLVM’s MLIR over the last two years and demonstrated how to express these exclusively in IRDL, only rarely requiring IRDL’s support for C++ extensions.

The flexibility and productivity offered by IRDL is the reason why this is one of the key technologies used in the xDSL project, with xDSL itself relying heavily on it. To date we have had some excellent results using IRDL when defining our DSL dialects in this project.

For more information

A preprint of the paper can be read here.

Position available on xDSL project

Are you interested in Domain Specific Languages (DSLs), compilers, and HPC? If so then come work at the School of Informatics, University of Edinburgh, where you will be involved revolutionising the compiler stack for DSLs to develop a common, unified, technology built on MLIR and LLVM.

Details of the opportunity

We are advertising for a Postdoctoral Research Associate in the Compiler and Runtime Systems Group at the School of Informatics, University of Edinburgh, to work on the xDSL project. The objective of xDSL is to revolutionize the design of DSL compiler implementations by leveraging the breadth and cross-industry support of the MLIR compiler and Python ecosystems. Python is the tool of choice for application developers in many domains, such as machine learning, data science, and - as we believe - an important component of the future of High Performance Computing software.

Via this project the successful applicant will work together with the Python, HPC, and MLIR compiler communities to build a next-generation DSL-design stack that effectively connects these communities. Instead of building DSL compilers as isolated monolithic towers, the purpose of our research is to design a toolbox that enables developers to build DSLs using a rich ecosystem of shared intermediate representations and optimizations.

xDSl is funded by ExCALIBUR, a large UK program to prepare key simulation codes for exascale, and the successful candidate will have the opportunity to work closely with world-leading experts in Compilers, Computational Science, and HPC from academia and industry. We aim for high-impact publications at the top venues in PL and Compilation (such as PLDI and CGO), Computational Science (such as ICCS and ACM TOMS), as well as HPC (such as SC and ICS). The candidate will directly contribute to open-source software that we develop in close collaboration with the community.

For more information

Does this sound interesting, do you think you are a good match for working on the xDSL project? If so, then there are further details here. Applications must be recieved by 5pm on the 5th of January 2022, and the link also contains details about how to apply for this role.