Событие
-
class torch.cuda.streams.Event(enable_timing=False, blocking=False, interprocess=False, external=False)[исходный код] -
Обёртка для события CUDA.
События CUDA — это маркеры синхронизации, которые можно использовать для отслеживания выполнения операций на устройстве, точного измерения времени и синхронизации потоков CUDA.
Базовые события CUDA инициализируются отложенно, при первой записи события или его экспорте в другой процесс. После создания записывать событие могут только потоки на том же устройстве. Однако потоки на любом устройстве могут ожидать событие.
- Параметры:
-
-
enable_timing (bool, необязательно) – указывает, должно ли событие измерять время (по умолчанию:
False) -
blocking (bool, необязательно) – если
True,wait()будет блокирующим (по умолчанию:False) -
interprocess (bool) – если
True, событием можно обмениваться между процессами (по умолчанию:False) -
external (bool, необязательно) – указывает, должно ли это событие создавать узлы записи события и ожидания события или создавать внутреннюю межпоточную зависимость при захвате в граф CUDA. Дополнительную информацию о внутренних и внешних событиях см. в разделах межпоточные зависимости, cudaEventRecordExternal и cudaEventWaitExternal. (по умолчанию:
False)
-
enable_timing (bool, необязательно) – указывает, должно ли событие измерять время (по умолчанию:
-
elapsed_time(end_event)[исходный код] -
Возвращает прошедшее время.
Время в миллисекундах между записью этого события и записью события end_event.
- Параметры:
-
end_event (Event) – конечное событие.
-
classmethod from_ipc_handle(device, handle)[исходный код] -
Восстанавливает событие из IPC-дескриптора на указанном устройстве.
-
ipc_handle()[исходный код] -
Возвращает IPC-дескриптор этого события.
Если событие ещё не записано, будет использовано текущее устройство.
-
query()[исходный код] -
Проверяет, завершена ли вся работа, захваченная событием на данный момент.
- Возвращает:
-
Логическое значение, указывающее, завершена ли вся работа, захваченная событием на данный момент.
-
record(stream=None)[исходный код] -
Записывает событие в указанном потоке.
- Параметры:
-
stream (Stream, torch.Stream, необязательно) – Если поток не указан, используется
torch.cuda.current_stream(). Устройство потока должно совпадать с устройством события.
-
synchronize()[исходный код] -
Ожидает завершения события.
Ожидает завершения всей работы, захваченной в этом событии на данный момент. Это не позволяет потоку CPU продолжить выполнение до завершения события.
Примечание
Это обёртка для
cudaEventSynchronize(): дополнительную информацию см. в документации по событиям CUDA.
-
wait(stream=None)[исходный код] -
Заставляет всю последующую работу, отправленную в указанный поток, ожидать это событие.
- Параметры:
-
stream (Stream, torch.Stream, необязательно) – Если поток не указан, используется
torch.cuda.current_stream().
Примечание
Это обёртка для
cudaStreamWaitEvent(): дополнительную информацию см. в документации по событиям CUDA.
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.cuda.streams.Event.html