Full cache-aware roofline support is available in Adaptyst now

Published: 27 March 2025

As part of the SYCLOPS project, we collaborate with Prof. Aleksandar Ilic’s group at INESC-ID on integrating their work on cache-aware roofline profiling (including the CARM Tool) into Adaptyst.

Partial support of roofline has already existed in our tool for some time, namely displaying performance bounds calculated from benchmarks run by the CARM Tool. However, this feature wasn’t automated and documented at all, making it very difficult to use for end users without consulting us first.

The recent Adaptyst update changes this: the end-to-end integration with the CARM Tool is available now, where you can run cache-aware roofline profiling automatically after doing a few initial configuration steps documented here. Additionally, it is possible to plot specific code segments from flame graphs on roofline graphs in Adaptyst Analyser, allowing developers to quickly see if their code is more memory- or compute-bound.

Currently, only x86-64 is supported and AMD CPUs are supported in a very experimental way since we unfortunately don’t have immediate access to appropriate AMD-based machines for testing yet. This should change by the end of May 2025 at latest, but in the meantime, if you can test the roofline feature on your AMD setup, please reach out to us!

We also hope to add support for more architectures such as arm64 and RISC-V soon.