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 для получения дополнительной информации.
-
wait_event(event) -
Заставляет всю будущую работу, переданную в поток, ожидать события.
- Параметры:
-
event (torch.cuda.Event) – событие, ожидание которого требуется.
Примечание
Эта функция возвращает без ожидания
event: затронуты только будущие операции.Это обёртка вокруг
cudaStreamWaitEvent(): см. документацию потоков CUDA для получения дополнительной информации.
-
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/1.13/generated/torch.cuda.ExternalStream.html