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:
To access module help after installation and get reminded for which stacks and partitions the module is installed, usemodule spider carm-roofline/<version>.
EasyConfig:
-
Only for light work, as it should really be used in a container to reduce the load on the Lustre filesystems. It hasn't been containerised yet as it is not clear how it interacts with Paraver (which is not yet available as an EasyBuild recipe anyway). This is an EasyBuild recipe contributed by the authors that cannot be supported by LUST.
-
Only for light work, as it should really be used in a container to reduce the load on the Lustre filesystems. It hasn't been containerised yet as it is not clear how it interacts with Paraver (which is not yet available as an EasyBuild recipe anyway). This is an EasyBuild recipe contributed by the authors that cannot be supported by LUST.
Technical documentation
This is a Python package with a benchmarking part (that needs compilers on the system) and a visualisation part.
EasyBuild
-
There is no support in regular EasyBuild at the time of writing, but the authors of the package have some EasyConfigs in their GitHub repository.
-
There is no known support in Spack at the time of writing.
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.