cupy.cuda.ExternalStream¶
-
class
cupy.cuda.
ExternalStream
(ptr)¶ CUDA stream.
This class allows to use external streams in CuPy by providing the stream pointer obtained from the CUDA runtime call. The user is in charge of managing the life-cycle of the stream.
- Parameters
ptr (intptr_t) – Address of the cudaStream_t object.
- Variables
ptr (intptr_t) – Raw stream handle. It can be passed to the CUDA Runtime API via ctypes.
Methods
-
__enter__
(self)¶
-
__exit__
(self, *args)¶
-
add_callback
(self, callback, arg)¶ Adds a callback that is called when all queued work is done.
- Parameters
callback (function) – Callback function. It must take three arguments (Stream object, int error status, and user data object), and returns nothing.
arg (object) – Argument to the callback.
-
record
(self, event=None)¶ Records an event on the stream.
- Parameters
event (None or cupy.cuda.Event) – CUDA event. If
None
, then a new plain event is created and used.- Returns
The recorded event.
- Return type
See also
-
synchronize
(self)¶ Waits for the stream completing all queued work.
-
use
(self)¶ Makes this stream current.
If you want to switch a stream temporarily, use the with statement.
-
wait_event
(self, event)¶ Makes the stream wait for an event.
The future work on this stream will be done after the event.
- Parameters
event (cupy.cuda.Event) – CUDA event.
-
__eq__
(self, other)¶
-
__ne__
(value, /)¶ Return self!=value.
-
__lt__
(value, /)¶ Return self<value.
-
__le__
(value, /)¶ Return self<=value.
-
__gt__
(value, /)¶ Return self>value.
-
__ge__
(value, /)¶ Return self>=value.
Attributes
-
done
¶ True if all work on this stream has been done.
-
null
= None¶