mindspore.hal.Event ======================== .. image:: https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source.svg :target: https://gitee.com/mindspore/mindspore/blob/master/docs/api/api_python/hal/mindspore.hal.Event.rst :alt: 查看源文件 .. py:class:: mindspore.hal.Event(enable_timing=False, blocking=False) 设备事件的封装器。 设备事件是同步标记,可用于监视设备的执行进度、准确计时和同步设备流。 当事件首次被记录时,底层设备事件才会被初始化。 参数: - **enable_timing** (bool, 可选) - 事件是否应计时。(默认值: ``False``) - **blocking** (bool, 可选) - 如果为 ``True``, `wait` 函数将是阻塞的。(默认值: ``False``) .. py:method:: mindspore.hal.Event.elapsed_time(end_event) 返回记录事件之后到记录end_event之前所用的时间(以毫秒为单位)。 参数: - **end_event** (Event) - 结束事件。 返回: float,经过的时间(以毫秒为单位)。 异常: - **TypeError** - 参数 `end_event` 不是一个 :class:`mindspore.hal.Event`。 .. py:method:: mindspore.hal.Event.query() 检查事件当前捕获的所有工作是否已完成。 返回: bool,指示事件当前捕获的所有工作是否都已完成。 .. py:method:: mindspore.hal.Event.record(stream=None) 在给定的流中记录事件。 如果未指定 `stream`,将使用 :func:`mindspore.hal.current_stream` 。 参数: - **stream** (Stream, 可选) - 需要记录的流。如果输入为 ``None``,将使用当前流。默认值: ``None``。 异常: - **TypeError** - 参数 `stream` 即不是一个 :class:`mindspore.hal.Stream` 也不是一个 ``None``。 .. py:method:: mindspore.hal.Event.synchronize() 等待事件完成。 等待直到完成当前此事件捕获的所有工作。 这将阻止CPU线程继续进行,直到事件完成。 .. py:method:: mindspore.hal.Event.wait(stream=None) 使提交给给定流的所有未来工作等待此事件。 如果未指定 `stream`,将使用 :func:`mindspore.hal.current_stream()` 。 参数: - **stream** (Stream, 可选) - 需要等待的流。如果输入为 ``None``,将使用当前流。默认值: ``None``。 异常: - **TypeError** - 参数 `stream` 即不是一个 :class:`mindspore.hal.Stream` 也不是一个 ``None``。