blob: c73e532b0fe6fc9569fdceda740c5069ba71e6de [file] [log] [blame] [view]
# Profiling
IREE [benchmarking](./benchmarking.md) gives us an accurate and reproducible
view of program performance at specific levels of granularity. To analyze system
behavior in more depth, there are various ways to
[profile](https://en.wikipedia.org/wiki/Profiling_(computer_programming)) IREE.
## Tracy
Tracy is a profiler that's been used for a wide range of profiling tasks on
IREE. Refer to [profiling_with_tracy.md](./profiling_with_tracy.md).
## Vulkan GPU Profiling
[Tracy](./profiling_with_tracy.md) offers great insights into CPU/GPU
interactions and Vulkan API usage details. However, information at a finer
granularity, especially inside a particular shader dispatch, is missing. To
supplement general purpose tools like Tracy, vendor-specific tools can be used.
Refer to [profiling_vulkan_gpu.md](./profiling_vulkan_gpu.md).
## CPU cache and other CPU event profiling
For some advanced CPU profiling needs such as querying CPU cache and other
events, one may need to use some OS-specific profilers. See
[profiling_cpu_events.md](./profiling_cpu_events.md).