Spec-Zone.ru › PyTorch 2.14

Событие

class torch.mtia.Event(device=None, *, enable_timing=False, blocking=False, interprocess=False)

Запрашивает и регистрирует состояние потока, чтобы выявлять зависимости между потоками или управлять ими, а также измерять время.

Параметры:
  • device (torch.device, необязательный) – требуемое устройство для события. Если не указано, будет использоваться текущий тип ускорителя.
  • enable_timing (bool, необязательный) – указывает, следует ли измерять время с помощью события (по умолчанию: False)
  • blocking (bool, необязательный) – если True, wait() будет блокирующим (по умолчанию: False)
  • interprocess (bool) – если True, событие можно использовать совместно между процессами (по умолчанию: False)

Предупреждение

В настоящее время параметры blocking и interprocess не поддерживаются и не выполняют никаких действий.

Возвращает:

Объект torch.Event.

Тип возвращаемого значения:

Event

Пример:

>>> event = torch.Event()
>>> e_cuda = torch.Event(device='cuda')
elapsed_time(end_event) → float

Возвращает время в миллисекундах, прошедшее между регистрацией этого события и end_event с помощью torch.Stream.record_event().

Параметры:

end_event (torch.Event) – конечное событие должно быть зарегистрировано.

Возвращает:

Время в миллисекундах между начальным и конечным событиями.

Тип возвращаемого значения:

float

Пример:

>>> s_cuda = torch.Stream(device='cuda')
>>> e1_cuda = s_cuda.record_event()
>>> e2_cuda = s_cuda.record_event()
>>> ms = e1_cuda.elapsed_time(e2_cuda)
query() → bool

Проверяет, прошёл ли поток, в котором было зарегистрировано это событие, точку его регистрации. Если событие не было зарегистрировано, всегда возвращает True.

Возвращает:

Логическое значение, указывающее, завершена ли вся работа, на данный момент учтённая событием.

Тип возвращаемого значения:

bool

Пример:

>>> s_cuda = torch.Stream(device='cuda')
>>> e_cuda = s_cuda.record_event()
>>> e_cuda.query()
True
record(stream=None) → None

Регистрирует событие в указанном потоке. Устройство потока должно совпадать с устройством события. Эта функция эквивалентна stream.record_event(self).

Параметры:

stream (torch.Stream, необязательный) – поток для регистрации события. Если не указан, будет использоваться текущий поток.

Пример:

>>> e_cuda = torch.Event(device='cuda')
>>> e_cuda.record()
synchronize() → None

Ожидает завершения события. Поток CPU не сможет продолжить работу, пока событие не завершится.

Пример:

>>> s_cuda = torch.Stream(device='cuda')
>>> e_cuda = s_cuda.record_event()
>>> e_cuda.synchronize()
wait(stream=None) → None

Заставляет всю последующую работу, отправленную в указанный поток, ожидать этого события.

Параметры:

stream (torch.Stream, необязательный) – поток для синхронизации. Если не указан, будет использоваться текущий поток.

Пример:

>>> s1_cuda = torch.Stream(device='cuda')
>>> s2_cuda = torch.Stream(device='cuda')
>>> e_cuda = s1_cuda.record()
>>> e_cuda.wait(s2)

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.mtia.Event.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API