РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
695 of 769 menu

Функция cuda.mem_get_info

Функция cuda.mem_get_info возвращает кортеж из двух значений: количество свободной памяти и общий объем памяти на указанном устройстве CUDA. Первым параметром функция принимает идентификатор устройства (по умолчанию текущее устройство). Функция полезна для мониторинга использования памяти GPU и оптимизации размера батчей.

Синтаксис

torch.cuda.mem_get_info([device])

Функция возвращает кортеж (free, total), где free - свободная память в байтах, а total - общий объем памяти устройства в байтах.

Пример

Давайте получим информацию о памяти на текущем устройстве CUDA:

import torch if torch.cuda.is_available(): free, total = torch.cuda.mem_get_info() print(f"Free memory: {free / 1024**3:.2f} GB") print(f"Total memory: {total / 1024**3:.2f} GB")

Результат выполнения кода:

Free memory: 11.72 GB Total memory: 15.78 GB

Пример

Давайте получим информацию о памяти на конкретном устройстве, например, на устройстве с индексом 1:

import torch if torch.cuda.is_available(): device_count = torch.cuda.device_count() if device_count > 1: free, total = torch.cuda.mem_get_info(1) print(f"Device 1 free: {free / 1024**3:.2f} GB") print(f"Device 1 total: {total / 1024**3:.2f} GB")

Результат выполнения кода:

Device 1 free: 10.45 GB Device 1 total: 15.78 GB

Пример

Давайте создадим тензор и проверим, как изменится свободная память:

import torch if torch.cuda.is_available(): free_before, _ = torch.cuda.mem_get_info() print(f"Free before: {free_before / 1024**3:.2f} GB") t = torch.randn(1024, 1024, 1024).cuda() free_after, _ = torch.cuda.mem_get_info() print(f"Free after: {free_after / 1024**3:.2f} GB") print(f"Used: {(free_before - free_after) / 1024**3:.2f} GB")

Результат выполнения кода:

Free before: 11.72 GB Free after: 7.73 GB Used: 3.99 GB

Смотрите также

  • функцию cuda.memory_allocated,
    которая возвращает объем памяти, занятой тензорами на устройстве
  • функцию cuda.memory_reserved,
    которая возвращает объем зарезервированной памяти на устройстве
  • функцию cuda.memory_stats,
    которая возвращает статистику использования памяти на устройстве
  • функцию cuda.empty_cache,
    которая очищает кеш памяти на устройстве
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить