66 lines
2.5 KiB
ReStructuredText
66 lines
2.5 KiB
ReStructuredText
mindspore.runtime.Event
|
||
========================
|
||
|
||
.. py:class:: mindspore.runtime.Event(enable_timing=False, blocking=False)
|
||
|
||
设备事件的封装器。
|
||
|
||
设备事件是同步标记,可用于监视设备的执行进度、准确计时和同步设备流。
|
||
|
||
当事件首次被记录时,底层设备事件才会被初始化。
|
||
|
||
参数:
|
||
- **enable_timing** (bool, 可选) - 事件是否应计时。(默认值: ``False``)
|
||
- **blocking** (bool, 可选) - 如果为 ``True``, `wait` 函数将是阻塞的。(默认值: ``False``)
|
||
|
||
.. py:method:: mindspore.runtime.Event.elapsed_time(end_event)
|
||
|
||
返回记录事件之后到记录end_event之前所用的时间(以毫秒为单位)。
|
||
|
||
参数:
|
||
- **end_event** (Event) - 结束事件。
|
||
|
||
返回:
|
||
float,经过的时间(以毫秒为单位)。
|
||
|
||
异常:
|
||
- **TypeError** - 参数 `end_event` 不是一个 :class:`mindspore.runtime.Event`。
|
||
|
||
.. py:method:: mindspore.runtime.Event.query()
|
||
|
||
检查事件当前捕获的所有工作是否已完成。
|
||
|
||
返回:
|
||
bool,指示事件当前捕获的所有工作是否都已完成。
|
||
|
||
.. py:method:: mindspore.runtime.Event.record(stream=None)
|
||
|
||
在给定的流中记录事件。
|
||
|
||
如果未指定 `stream`,将使用 :func:`mindspore.runtime.current_stream` 。`stream` 的设备必须与event的设备匹配。
|
||
|
||
参数:
|
||
- **stream** (Stream, 可选) - 需要记录的流。如果输入为 ``None``,将使用当前流。默认值: ``None``。
|
||
|
||
异常:
|
||
- **TypeError** - 参数 `stream` 既不是一个 :class:`mindspore.runtime.Stream` 也不是一个 ``None``。
|
||
|
||
.. py:method:: mindspore.runtime.Event.synchronize()
|
||
|
||
等待事件完成。
|
||
|
||
等待直到完成当前此事件捕获的所有工作。
|
||
这将阻止CPU线程继续进行,直到事件完成。
|
||
|
||
.. py:method:: mindspore.runtime.Event.wait(stream=None)
|
||
|
||
使提交给给定流的所有未来工作等待此事件。
|
||
|
||
如果未指定 `stream`,将使用 :func:`mindspore.runtime.current_stream()` 。
|
||
|
||
参数:
|
||
- **stream** (Stream, 可选) - 需要等待的流。如果输入为 ``None``,将使用当前流。默认值: ``None``。
|
||
|
||
异常:
|
||
- **TypeError** - 参数 `stream` 既不是一个 :class:`mindspore.runtime.Stream` 也不是一个 ``None``。
|