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