Поток
-
class torch.cuda.Stream(device=None, priority=0, **kwargs)[source] -
Обёртка вокруг потока CUDA.
Поток CUDA — это линейная последовательность выполнения, относящаяся к определённому устройству, независимая от других потоков. Подробнее см. Семантику CUDA.
- Параметры:
-
-
device (torch.device или int, необязательно) — устройство, на котором следует выделить поток. Если
deviceравноNone(значение по умолчанию) или отрицательному целому числу, будет использовано текущее устройство. - priority (int, необязательно) — приоритет потока. Может принимать значения -1 (высокий приоритет) или 0 (низкий приоритет). По умолчанию приоритет потока равен 0.
-
device (torch.device или int, необязательно) — устройство, на котором следует выделить поток. Если
Примечание
Хотя версии CUDA >= 11 поддерживают более двух уровней приоритетов, в PyTorch поддерживаются только два уровня приоритетов.
-
query()[source] -
Проверяет, завершены ли все задачи, отправленные в поток.
- Возвращает:
-
Булево значение, указывающее, завершены ли все ядра в данном потоке.
-
record_event(event=None)[source] -
Записывает событие.
- Параметры:
-
event (torch.cuda.Event, необязательно) — записываемое событие. Если не указано, будет выделено новое.
- Возвращает:
-
Записанное событие.
-
synchronize()[source] -
Дожидается завершения всех ядер в данном потоке.
Примечание
Это обёртка вокруг
cudaStreamSynchronize(): см. документацию по потокам CUDA для получения дополнительной информации.
-
wait_event(event)[source] -
Заставляет все последующие задачи, отправленные в поток, дождаться события.
- Параметры:
-
event (torch.cuda.Event) — событие, дождаться которого необходимо.
Примечание
Данная функция возвращается без ожидания
event: только последующие операции затронуты.Это обёртка вокруг
cudaStreamWaitEvent(): см. документацию по потокам CUDA для получения дополнительной информации.
-
wait_stream(stream)[source] -
Синхронизируется с другим потоком.
Все последующие задачи, отправленные в данный поток, будут ждать завершения всех ядер, отправленных в указанный поток на момент вызова.
- Параметры:
-
stream (Stream) — поток для синхронизации.
Примечание
Данная функция возвращается без ожидания текущих задач в очереди в
stream: только последующие операции затронуты.
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.cuda.Stream.html