Spec-Zone.ru › PyTorch 2

torch.cuda

Этот пакет добавляет поддержку типов тензоров CUDA, которые реализуют те же функции, что и тензоры на CPU, но они используют GPU для вычислений.

Он инициализируется лениво, поэтому вы всегда можете его импортировать и использовать is_available(), чтобы определить, поддерживает ли ваша система CUDA.

Семантика CUDA содержит больше подробностей о работе с CUDA.

StreamContext

Менеджер контекста, который выбирает заданный поток.

can_device_access_peer

Проверяет, возможен ли доступ к peer между двумя устройствами.

current_blas_handle

Возвращает указатель cublasHandle_t на текущую ручку cuBLAS.

current_device

Возвращает индекс текущего выбранного устройства.

current_stream

Возвращает текущий выбранный Stream для данного устройства.

default_stream

Возвращает значение по умолчанию Stream для данного устройства.

device

Менеджер контекста, который изменяет выбранное устройство.

device_count

Возвращает количество доступных GPU.

device_of

Менеджер контекста, который изменяет текущее устройство на устройство данного объекта.

get_arch_list

Возвращает список архитектур CUDA, для которых скомпилирована эта библиотека.

get_device_capability

Получает возможности cuda устройства.

get_device_name

Получает имя устройства.

get_device_properties

Получает свойства устройства.

get_gencode_flags

Возвращает флаги NVCC gencode, с которыми была скомпилирована эта библиотека.

get_sync_debug_mode

Возвращает текущее значение режима отладки для операций синхронизации cuda.

init

Инициализирует состояние CUDA PyTorch.

ipc_collect

Принудительно собирает память GPU после ее освобождения с помощью CUDA IPC.

is_available

Возвращает булево значение, указывающее, доступна ли в данный момент CUDA.

is_initialized

Возвращает, было ли инициализировано состояние CUDA PyTorch.

memory_usage

Возвращает процент времени за последний период выборки, в течение которого глобальная (устройства) память считывалась или записывалась.

set_device

Устанавливает текущее устройство.

set_stream

Устанавливает текущий поток. Это оберточный API для установки потока.

set_sync_debug_mode

Устанавливает режим отладки для операций синхронизации cuda.

stream

Обёртка вокруг менеджера контекста StreamContext, который выбирает заданный поток.

synchronize

Ожидает завершения всех ядер во всех потоках на устройстве CUDA.

utilization

Возвращает процент времени за последний период выборки, в течение которого одно или несколько ядер выполнялось на GPU, как указано в nvidia-smi.

temperature

Возвращает среднюю температуру датчика GPU в градусах Цельсия.

power_draw

Возвращает среднее потребление энергии датчика GPU в мВт (милливаттах).

clock_rate

Возвращает тактовую частоту SM GPU в Гц (Герцах) за последний период выборки, как указано в nvidia-smi.

OutOfMemoryError

Исключение, которое возникает, когда в CUDA закончилась память.

Генератор случайных чисел

get_rng_state

Возвращает состояние генератора случайных чисел указанной GPU в виде ByteTensor.

get_rng_state_all

Возвращает список ByteTensor, представляющих состояния генераторов случайных чисел всех устройств.

set_rng_state

Устанавливает состояние генератора случайных чисел указанной GPU.

set_rng_state_all

Устанавливает состояние генератора случайных чисел всех устройств.

manual_seed

Устанавливает seed для генерации случайных чисел для текущей GPU.

manual_seed_all

Устанавливает seed для генерации случайных чисел на всех GPU.

seed

Устанавливает seed для генерации случайных чисел на случайное число для текущей GPU.

seed_all

Устанавливает seed для генерации случайных чисел на случайное число на всех GPU.

initial_seed

Возвращает текущий seed генератора случайных чисел текущей GPU.

Коллективы коммуникации

comm.broadcast

Транслирует тензор на указанные устройства GPU.

comm.broadcast_coalesced

Транслирует последовательность тензоров на указанные GPU.

comm.reduce_add

Суммирует тензоры с нескольких GPU.

comm.scatter

Рассыпывает тензор по нескольким GPU.

comm.gather

Собрать тензоры с нескольких устройств GPU.

Потоки и события

Stream

Обёртка вокруг потока CUDA.

ExternalStream

Обёртка вокруг внешне выделенного потока CUDA.

Event

Обёртка вокруг события CUDA.

Графы (бета)

is_current_stream_capturing

Возвращает True, если захват графа CUDA происходит в текущем потоке CUDA, в противном случае — False.

graph_pool_handle

Возвращает непрозрачный маркер, представляющий идентификатор пула памяти графа.

CUDAGraph

Обёртка вокруг графа CUDA.

graph

Менеджер контекста, который захватывает работу CUDA в объект torch.cuda.CUDAGraph для последующего воспроизведения.

make_graphed_callables

Принимает вызываемые объекты (функции или nn.Module) и возвращает их вариантами с захватом графа.

Управление памятью CUDA

empty_cache

Освобождает все свободные кэшированные данные, которые сейчас хранятся в кэширующем выделенном блоке памяти, так что эти данные могут быть использованы в другом приложении GPU и отображаются в nvidia-smi.

list_gpu_processes

Возвращает удобочитаемый вывод запущенных процессов и их использования памяти GPU для заданного устройства.

mem_get_info

Возвращает общую свободную и общую память GPU для заданного устройства, используя cudaMemGetInfo.

memory_stats

Возвращает словарь статистики выделения памяти CUDA для заданного устройства.

memory_summary

Возвращает удобочитаемый вывод текущих статистических данных выделения памяти для заданного устройства.

memory_snapshot

Возвращает снимок состояния выделения памяти CUDA на всех устройствах.

memory_allocated

Возвращает текущий объём занимаемой памяти GPU тензорами в байтах для заданного устройства.

max_memory_allocated

Возвращает максимальный объём занимаемой памяти GPU тензорами в байтах для заданного устройства.

reset_max_memory_allocated

Сбрасывает начальную точку отслеживания максимального объёма занимаемой памяти GPU тензорами для заданного устройства.

memory_reserved

Возвращает текущий объём управляемой кэширующим выделенным блоком памяти GPU в байтах для заданного устройства.

max_memory_reserved

Возвращает максимальный объём управляемой кэширующим выделенным блоком памяти GPU в байтах для заданного устройства.

set_per_process_memory_fraction

Устанавливает долю памяти для процесса.

memory_cached

Устарело; см. memory_reserved().

max_memory_cached

Устарело; см. max_memory_reserved().

reset_max_memory_cached

Сбрасывает начальную точку отслеживания максимального объёма управляемой кэширующим выделенным блоком памяти GPU для заданного устройства.

reset_peak_memory_stats

Сбрасывает статистику "пика", отслеживаемую выделением памяти CUDA.

caching_allocator_alloc

Выполняет выделение памяти с помощью выделения памяти CUDA.

caching_allocator_delete

Удаляет память, выделенную с помощью выделения памяти CUDA.

get_allocator_backend

Возвращает строку, описывающую активный бэкенд выделения памяти, установленный с помощью PYTORCH_CUDA_ALLOC_CONF.

CUDAPluggableAllocator

Выделение памяти CUDA, загруженное из файла so.

change_current_allocator

Изменяет текущее используемое выделение памяти на предоставленное.

Расширение NVIDIA Tools (NVTX)

nvtx.mark

Описывает мгновенное событие, произошедшее в определенный момент.

nvtx.range_push

Добавляет диапазон в стек вложенных диапазонов.

nvtx.range_pop

Удаляет диапазон из стека вложенных диапазонов.

Jiterator (бета)

jiterator._create_jit_fn

Создание CUDA-ядра, сгенерированного jiterator, для элементной операции.

jiterator._create_multi_output_jit_fn

Создание CUDA-ядра, сгенерированного jiterator, для элементной операции, поддерживающей возврат одного или нескольких результатов.

Потоковый санитайзер (прототип)

CUDA Sanitizer — это прототип инструмента для обнаружения ошибок синхронизации между потоками в PyTorch. См. документацию для получения информации о том, как его использовать.

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/cuda.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API