cuda-api-wrappers icon indicating copy to clipboard operation
cuda-api-wrappers copied to clipboard

Consider adding wrappers for the CUPTI library

Open eyalroz opened this issue 5 years ago • 2 comments

CUDA offers a library named CUPTI - the CUDA Profiling Tools Interface:

CUPTI provides a set of APIs targeted at ISVs creating profilers and other performance optimization tools:

  • the Activity API,
  • the Callback API,
  • the Event API,
  • the Metric API, and
  • the Profiler API

Using these CUPTI APIs, independent software developers can create profiling tools etc. etc.

Documentation for CUPTI can be found here.

Seeing how we already exceed the scope of the runtime API with profiling-related wrappers (see also #176 ), so it might make sense to also go in this direction.

eyalroz avatar May 05 '20 12:05 eyalroz

Not in a literal wrappers around the API sense, but I have worked on a library to support easy profiling of metrics and events within C++: https://github.com/neoblizz/cupti-plus-plus (work-in-progress).

Maybe this how it can eventually look like, because the individual APIs are not extremely useful or intuitive, but you can build a pretty neat profiler API interface using them.

neoblizz avatar May 05 '20 12:05 neoblizz

@neoblizz : I've actually noticed that. But - I would start with wrapping the API, then decide how far "up tha abstraction ladder" it makes sense to go.

eyalroz avatar May 05 '20 15:05 eyalroz