Interactive profiling
- Dominant language
- Julia
- Stars
- 215
- Forks
- 37
- Avg merge
- 10h 47m
- Merged PRs (30d)
- 14
Description
VTune is great, but it can currently only profile a whole application or attach and start/stop manually. It'd be great to be able to denote profile ranges a la `CUDA.@profile`, and in addition to be able to do so with an attached program for interactive profiling.
@vchuravy pointed me to Intel's Instrumentation and Tracing Technology (ITT), https://github.com/intel/ittapi, as an equivalent for NVIDIA's NVTX, which has similar APIs:
- ranges: https://software.intel.com/content/www/us/en/develop/documentation/vtune-help/top/api-support/instrumentation-and-tracing-technology-apis/instrumentation-tracing-technology-api-reference/domain-api.html
- markers: https://software.intel.com/content/www/us/en/develop/documentation/vtune-help/top/api-support/instrumentation-and-tracing-technology-apis/instrumentation-tracing-technology-api-reference/event-api.html
Apparently ITT is already being built as part of LLVM for the purpose of JIT registration, so we could take it from there.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the issue's Intel ITT references, especially the domain and event API documentation, and inspect how oneAPI.jl currently exposes VTune-related functionality. Determine the entry points for denoting ranges and markers and for attaching to an already-running program. Done means Julia code can mark profile ranges and support interactive profiling of an attached program.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- devtools, performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100