Событие
-
class torch.cuda.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.Event.html