|  | # 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). |