CUDA error 11 — cannot allocate big buffer for DAG — решение ошибки

Начиная с марта 2016 года, многие желающие помайнить столкнулись с ошибкой запуска «CUDA error — cannot allocate big buffer for DAG», которая сообщает, что не удается выделить большой буфер для ДАГ файла. Причина возникшей ситуации – особый алгоритм майнинга эфира и подобных ему криптовалют. Согласно новым принципам работы, для функционирования систем необходимо иметь видеокарту (AMD, NVIDIA), с объемом памяти свыше 2 Гб. В настоящий момент, это минимальный предел.

Как и со многими другими подобными «новшествами», решить вопрос без замены имеющихся GPU вполне реально. Описанные далее инструкции могут быть полезными не только для обладателей видюх на 2 Гб, ведь подобное сообщение появляется и при использовании более мощных карт.

Ошибка-CUDA-error-11-cannot-allocate-big-buffer-for-DAG
Ошибка CUDA error 11 — cannot allocate big buffer for DAG

Что такое DAG-файл и почему он растет?

DAG-файл представляет собой блок данных, занимающих минимум 1 Гб памяти. Он используется для нахождения конкретного решения блока в сети блокчейн. Данный файл загружается в видеокарту в начале майнинга.

Примечательно, что размер DAG постепенно увеличивается. Согласно используемым алгоритмам, можно определить размер файла в зависимости от текущей эпохи. Под понятием «эпоха» подразумевается цикл прохождения 30 тыс. блоков. Иными словами, у каждого отдельно взятого блока свой размер DAG, а определенному объему этого файла соответствует своя эпоха.

Генерация-DAG-файла
Генерация DAG файла

Постепенный рост размера DAG файла способствует тому, что его объем просто не может полностью загрузиться в память видяхи. Эта проблема актуальна для всех криптовалют, использующих алгоритм добычи Dagger Hashimoto. Обратите внимание, что различные валюты находятся на разных эпохах, а скорость прохождения одного цикла для каждой системы своя.

Как решить ошибку CUDA Error 11?

Итак, ошибка указывает на то, что выделить больше памяти нельзя. Стоит заметить, что после загрузки выводится еще одно уведомление «CUDA error 11 — cannot write buffer for DAG», указывающее на то, что запись буфера для DAG остановлена. Способов исправить ошибку, на самом деле, достаточно много. Давайте рассмотрим наиболее популярные варианты.

Для видеокарт на 2 Гб и меньше

  1. Отключить все визуальные эффекты и определить приоритет – наилучшее быстродействие в настройках компьютера. Для этого нужно кликнуть ПКМ на значке Компьютера, выбрать Свойства, Дополнительные параметры системы.

    Выберите-наилучшее-быстродействие
    Выберите наилучшее быстродействие
  2. В этом же окне перейти во вкладку Дополнительно и изменить файл подкачки до 16 Гб. Задать новое значение и перезагрузиться. Главное следите, что бы у вас было как минимум 20-25 Гб свободного пространства.

    Задайте-значения-1367-16400-Мб
    Задайте значения 1367-16400 Мб
  3. После перезапуска удалить из Автозагрузки и трея весь лишний софт.
  4. Убрать с рабочего стола все файлы и ярлыки. Желательно отключить обои и плитку в меню Пуск (если имеете дело с Windows 10).
  5. Очистить систему при помощи чистящих утилит, например, CCleaner.
  6. И, разумеется, проверить систему на вирусы, после чего отключить антивирус.

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

Для видеокарт свыше 2 Гб

Описанные ранее действия могут быть полезны и в этом случае. Если исключены проблемы аппаратной части, то для начала рекомендуется переустановить основные компоненты:

  • NetFramework;
  • CUDA;
  • OpenCL;
  • все необходимые компоненты C++.

После этого стоит проверить дрова видюхи. Что здесь нужно сделать? Обновить драйверы GPU до последней версии. Владельцам видеокарт AMD можно попробовать откатить дрова до версии 14.xx. Обратите внимание, что при обновлении или откате дров необходимо использовать «чистую установку». Для удаления установленных дров применяют Display Driver Uninstaller (DDU).

Программа-для-удаления-драйверов-Display-Driver-Uninstaller
Программа для удаления драйверов Display Driver Uninstaller

Прописать в консоли до запуска майнера такие команды:

  • setx GPU_FORCE_64BIT_PTR 0 – для серии Radeon RX не использовать;
  • setx GPU_MAX_HEAP_SIZE 100;
  • setx GPU_USE_SYNC_OBJECTS 1;
  • setx GPU_MAX_ALLOC_PERCENT 100.

Если вышеуказанные процедуры не помогли, то нужно искать решение, подходящее именно для вашей модели GPU.

Заключение

В большинстве случаев, именно увеличение файла подкачки до 16 Гб полностью исправляет ошибку «CUDA error — cannot allocate big buffer for DAG» при майнинге. Вместе с тем стоит заметить, что от эпохи к эпохе требования к железу будут расти. Например, расчеты показывают — к концу 2019 года размер DAG-а возрастет до 3Гб. Если у вас есть свои советы по оптимизации и исправлению подобных ошибок — пишите их в комментариях.

Добавить комментарий

Ваш email нигде не будет показан. Обязательные поля помечены *