There should be a method of creating an Event without recording it immediately to a Stream. My understanding is that the C-API allows you to create an Event then decide what Stream to record it on later. The application of this for use in timing.
Specifically, in nvmath-python we have a timing context manager which automatically creates start and end events, but doesn't record the end event until the context closes. This type of thing is not currently possible with cuda.core.
@leofang suggested that we could implement something like
e1 = Device().create_event(...)
Where the event is created from the Device instead of from the Stream.
There should be a method of creating an
Eventwithout recording it immediately to aStream. My understanding is that the C-API allows you to create anEventthen decide whatStreamto record it on later. The application of this for use in timing.Specifically, in nvmath-python we have a timing context manager which automatically creates start and end events, but doesn't record the end event until the context closes. This type of thing is not currently possible with cuda.core.
@leofang suggested that we could implement something like
Where the event is created from the
Deviceinstead of from theStream.