Skip to content

[package list]

carm-roofline

License information

The carm-roofline package is distributed under an Apache License Version 2.0, a copy of which is available as the LICENSE file in the carm-roofline GitHub.

Note that as this is a Python package, it has a lot of dependencies that each also have their own licensing conditions!

If you use the CARM and the CARM Tool in papers or reports, please cite:

  • J. Morgado, L. Sousa, A. Ilic. "CARM Tool: Cache-Aware Roofline Model Automatic Benchmarking and Application Analysis", IEEE International Symposium on Workload Characterization (IISWC), Vancouver, British Columbia, Canada, 2024.

  • A. Ilic, F. Pratas and L. Sousa, "Cache-aware Roofline model: Upgrading the loft," IEEE Computer Architecture Letters, vol. 13, no. 1, pp. 21-24, Jan.-June 2014. doi:10.1109/L-CA.2013.6.

  • D. Marques, A. Ilic, Z. A. Matveev, and L. Sousa, "Application-driven cache-aware roofline model," Future Generation Computer Systems, vol. 107, pp. 257-273, 2020. doi:10.1016/j.future.2020.01.044.

User documentation

This package is contributed by its authors. LUST cannot fully support this package.

Note that the tool creates hidden files in your home directory (in the ~/.local) subdirectory which does have an effect on your disk quota!

Note that this is Python software which would be better installed in a container. This is not yet done as it has a mode to work with Paraver (for which we have no EasyBuild recipe at the time of writing) as it is not clear yet how to arrange this in a containerised version.

User-installable modules (and EasyConfigs)

Install with the EasyBuild-user module:

eb <easyconfig> -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider carm-roofline/<version>.

EasyConfig:

Technical documentation

This is a Python package with a benchmarking part (that needs compilers on the system) and a visualisation part.

EasyBuild

Version 1.0.7, working with Cray Python

  • The EasyConfig was contributed by one of the authors of the tool (Aleksandar Ilic) but brought more in line with LUMI conventions.

Version 1.2.0, working with Cray Python

  • The EasyConfig was taken from the carm-roofline GitHub repository and brought in line with the LUMI conventions to ease the installation by users.