CUDA System Memory Fallback — включать или нет?

Включать ли Sysmem Fallback PolicyНачиная с версии драйвера 546.01 в Панели управления NVIDIA появилась возможность включения и отключения новой опции — CUDA Sysmem Fallback Policy, позволяющей настроить поведение функции System Memory Fallback.

В этой статье о том, что это за функция, включать ли System Memory Fallback для игр или других задач и дополнительная информация на тему, которая может быть полезной.

Назначение функции

Функция System Memory Fallback (можно перевести как «Резервирование в системной памяти») на видеокартах NVIDIA предназначена для задач, требующих значительного объема памяти видеокарты при использовании CUDA-ядер: прежде всего при использовании ИИ-инструментов, таких как Stable Diffusion.

В случае, если опция включена, для обозначенных задач в дополнение к памяти видеокарты (VRAM) может быть использована оперативная память (RAM) компьютера со следующим результатом:

  • Вы не получите уведомлений о том, что памяти недостаточно (CUDA out of memory), при условии, что суммарного объема VRAM и свободной RAM достаточно для выполнения задачи.
  • Производительность, вероятнее всего, будет ниже: причина в том, что оперативная память компьютера работает значительно медленнее, чем память видеокарты.

Таким образом, включение функции позволяет использовать ИИ-инструменты (и другие процессы, использующие CUDA и значительный объем VRAM) даже на видеокартах с недостаточным объемом собственной памяти и без применения дополнительных оптимизаций.

Настройки System Memory Fallback

Возможность настройки System Memory Fallback появилась в «Панели управления NVIDIA» начиная с версии драйвера 546.01 (сама функция была реализована ранее, но без возможности настройки).

Для включения или отключения достаточно выполнить следующие действия:

  1. Откройте Панель управления NVIDIA: сделать это можно через контекстное меню рабочего стола — нажмите правой кнопкой мыши по рабочему столу и выберите нужный пункт (в Windows 11 потребуется сначала нажать «Показать дополнительные параметры»).
  2. Перейдите в раздел «Параметры 3D» — «Управление параметрами 3D».
  3. Задайте нужное значение для параметра CUDA – Sysmem Fallback Policy на вкладке «Глобальные параметры» (для всех программ) или «Программные настройки» (для выбранных программ) и нажмите кнопку «Применить». Включение и отключение CUDA Sysmem Fallback Policy

Доступны следующие варианты настроек:

  • Driver Default — значение по умолчанию, поведение функции определяется драйвером и выполняемой задачей.
  • Prefer No Sysmem Fallback — предпочитать не использовать System Memory Fallback
  • Prefer Sysmem Fallback — предпочитать использование функции.

Включать ли CUDA – Sysmem Fallback Policy

Несмотря на то, что рассматриваемую опцию можно включить глобально для всех приложений и игр, использующих CUDA, делать этого не рекомендуется, за исключением случаев, когда вы столкнулись с недостатком памяти видеокарты при выполнении тех или иных задач. Причина этому — потенциальное снижение производительности из-за использования оперативной памяти компьютера вместо VRAM.

При включении System Memory Fallback для ИИ-задач, производительность может серьезно просесть и более предпочтительными могут оказаться другие варианты обеспечения работоспособности на видеокартах с малым объемом VRAM.

Например, в моем случае при использовании Stable Diffusion и WebUI на видеокарте с 6 Гб памяти использование параметров для оптимизации работы на таких видеокартах показывает результат в несколько раз быстрее, чем отключение соответствующих параметров и включение System Memory Fallback. Поэтому использование функции может быть осмысленным, возможно, только при необходимости генерации изображений с большим разрешением, которые иначе создать на этом оборудовании не получится.

В случае игр ситуация лучше, но также наблюдается некоторое снижение производительности и возможна её нестабильность. Ниже — на скриншоте результат теста различных игр с включенной и отключенной опцией Sysmem Fallback Policy, а также результат тестирования на предыдущей версии драйвера:

Производительность в играх при включенной и отключенной опции

Возможно, у вас есть отличающиеся наблюдения о работе функции? Будет отлично, если вы сможете поделиться ими в комментариях ниже.

Комментарии (1) к CUDA System Memory Fallback — включать или нет?

  • All

    Бесполезно, SD всё равно валится в конце генерации с ошибкой TORCH_USE_CUDA_DSA, хоть включена Prefer Sysmem Fallback хоть нет…

    Ответить

Оставить комментарий

Интересное
Список инструкций Windows 11 Windows 10 Подписаться