Files
TheRock/rocm-systems/projects/rocprofiler-systems/external/timemory/docs/components/roofline.md
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

2.8 KiB

Roofline Components

Namespace: tim::component

Roofline is a visually intuitive performance model used to bound the performance of various numerical methods and operations running on multicore, manycore, or accelerator processor architectures. Rather than simply using percent-of-peak estimates, the model can be used to assess the quality of attained performance by combining locality, bandwidth, and different parallelization paradigms into a single performance figure. One can examine the resultant Roofline figure in order to determine both the implementation and inherent performance limitations.

More information on roofline can be found here.

Component Name Category Template Specification Dependencies Description
cpu_roofline CPU cpu_roofline<Types...> PAPI Records the rate at which the hardware counters are accumulated
gpu_roofline CPU gpu_roofline<Types...> CUDA, CUPTI Records the rate at which the hardware counters are accumulated

The roofline components provided by timemory execute a workflow during application termination that calculates the theoretical peak for the roofline. A pre-defined set of algorithms for the theoretical peak are provided but these can be customized. An example can be found in timemory/examples/ex-cpu-roofline/test_cpu_roofline.cpp and timemory/examples/ex-gpu-roofline/test_gpu_roofline.cpp.

Pre-defined Types

Namespace: tim::component

Component Name Underlying Template Specification Description
cpu_roofline_flops cpu_roofline<float, double> Rate of single- and double-precision FLOP/s
cpu_roofline_dp_flops cpu_roofline<double> Rate of double-precision FLOP/s
cpu_roofline_sp_flops cpu_roofline<float> Rate of single-precision FLOP/s
gpu_roofline_flops gpu_roofline<fp16_t, float, double> Rate of half-, single- and double-precision FLOP/s
gpu_roofline_dp_flops gpu_roofline<double> Rate of double-precision FLOP/s
gpu_roofline_sp_flops gpu_roofline<float> Rate of single-precision FLOP/s
gpu_roofline_hp_flops gpu_roofline<fp16_t> Rate of half-precision FLOP/s