MATS/MODS инструкция

MATS/MODS инструкция


Aleksey 🚀 Kazan

Данный пост написан, чтобы скомпоновать основные тезисы по использованию программного комплекса для тестирования видеопамяти на видеокартах nVidia в одном месте, а не лазить каждый раз в мануал, заметки или на форум, сами знаете какой.

Предполагается, что вы имеете необходимый дистрибутив, понимаете, что для разных поколений видеокарт используются разные версии софта, знаете как устроена видеокарта и что наличие ошибок по видеопамяти не значит, что неисправна сама память.

MATS

Данный тест запускается на базовой частоте памяти 300мгц.

Не рекомендуется запускать тестирование больше 100Мб памяти, т.к. возможно ложное отображение ошибок по всем каналам.

Если видеокарта выдает изображение

./mats -e 20

Запускается тест 20 мегабайт, начиная с 0 мб

./mats -b 512 -e 532

Запускается тест 20 мегабайт, начиная с 512 мб

./mats -с 1

Запускается тест 1% памяти.

При прохождении теста с результатом FAIL и общим количеством ошибок = 32 или 33, нужно запустить тестирование повторно с аргументом -no_scan_out, чтобы утилита не считала сбойной область, отвечающую за вывод изображения

Если видеокарта не выдает изображение

Первый вариант - тестируем образом с автозагрузкой.

Второй вариант - выводим изображение со встроенной графики, либо устанавливаем тестируемую карту в дополнительный разъем PCI-Express (в том числе через райзер)

Если изображение выводится не с тестируемой карты, предварительно требуется воспроизвести команду:

./mods gputest.js -oqa -skip_rm_state_init -notest (если при вводе следующей команды в отчете будут ошибки по всем каналам на чтение и запись, повторите данную команду с ключом -no_gold)

Далее, стандартные команды MATS с запуском теста по индексу устройства, либо с аргументом -3d_card

./mats -n 01 -e 20

Запускается тестирование карты по индексу 01, например, если изображение берется со встроенной графики (индекс 0). Допускается указание индекса без 0, т.е. аргументы -n 1 и -n 01 равнозначные.

./mats -3d_card -e 20

В результате, по окончанию тестирования, мы увидим зелёненькую надпись PASS, означающую, что тестирование не выявило проблем, либо красненькую FAIL, соответственно, тест завершился неудачно.

По умолчанию, результаты теста записываются в файл report.txt. Посмотреть отчет можно через встроенный текстовый редактор, вызвав его командой nano report.txt

Также можно изменить файл отчета аргументом

-logfile filename.txt

Ещё раз, тестирование не выявляет неисправные чипы памяти, а лишь указывает на канал, в котором есть проблемы. Причиной могут быть, как неисправные чипы памяти, так и неисправный ГПУ, либо проблемы в их связи (некачественная пайка, дефект текстолита).

MODS

Когда MATS проходит тест, но при этом имеются дефекты при работе видеокарты, следует провести более ресурсоемкое тестирование с помощью MODS. Данная утилита позволяет изменять частоты, запускать более ста разных тестов или зацикливать тестирование.

Синтаксис для работы следующий:

./mods [options] [file] [JavaScript arguments]

например:

./mods –d –C gputest.js –mfg –run_on_error

где -d и - это аргументы для MODS, а -mfg и -run_on_error - аргументы для скрипта gputest.js

Аргументы для MODS в большинстве случаев не используются, но иногда бывает полезно вывести общую информацию о карте: биосе, ГПУ (VID, DID, SKU), памяти, частотах, напряжении и т.д. без запуска тестов. Для этого запустите mods с аргументом -s

./mods –s

Основной скрипт, предназначенный для тестирования - gputest.js, имеющий различные варианты запуска, в зависимости от используемых аргументов и варианта тестирования.

./mods gputest.js -mfg (for CEM testing)
./mods gputest.js -oqa (for OEM outgoing QA testing)

Разница между этими двумя вариантами тестирования заключается в том, что опция -mfg запускает полный набор тестов. Тест -oqa - это более лёгкий и быстрый набор тестов, оптимизированный для ускорения тестирования.

В целях диагностики подходят оба варианта тестирования. Один из вариантов запуска

./mods gputest.js -oqa -old_gold -test 94 -loops 10 -fan_speed 90 -dramclk_percent 119 -ignore_fatal_errors -run_on_error -matsinfo -mats_cov 20 -pte_random

-oqa - вариант тестирования, другой вариант -mfg для mods 400+ -long

-old_gold - использование файла с т.н. золотыми (правильными, эталонными) значениями контрольных сумм производимых вычислений. Другие варианты: -no_gold - не использовать -goldenfile <имя файла> - указать конкретный файл. Для использования стандартного голд файла - данный параметр не используется, при условии наличия данного файла в директории с тестом. Если данный файл отсутствует - получим ошибку heatstresstest is not define (необязательный параметр)

-test 94 - запуск выбранного теста *

-loops 10 - цикл из 10 запусков (необязательный параметр)

-fan_speed 90 - скорость вращения вентиляторов в %. Для работы вентиляторов в штатном режиме - данный параметр не используется (необязательный параметр)

-dramclk_percent 119 - частота памяти в %, другой вариант использования: -dramclk Х, где Х - частота в мегагерцах. Если параметр указан не будет - тест будет произведен на рабочей частоте - 100%

-ignore_fatal_errors - игнорировать ошибки PEX (желательно использовать)

-run_on_error - продолжение теста при обнаружении ошибок (желательно использовать)

-matsinfo - при обнаружении ошибок вывод информации в отчет. Если не будет указан данный параметр, при наличии ошибок по памяти - в отчёте будет строка bad memory без указания каналов с ошибками. Для MODS 400+ данный аргумент используется по умолчанию (т.е. вручную можно не прописывать)

-mats_cov 20 - процент охвата памяти (от 0 до 100), по умолчанию 10. (необязательный параметр)

-pte_random - распределение системной памяти в произвольном порядке (необязательный параметр)

-gpcclk X - установить частоту GPU, где X - частота в мегагерцах


Наиболее популярные тесты

Mats тесты используют данные передаваемые процессором через PCI-E; FastMats, WfMats - используют движок 2D; RmStress, GLStress - 3D

2 - GLStress

3 - MatsTest

19 - FastMatsTest

73 - HeatStressTest (RmStress)

94 - NewWfMats - наиболее популярный ресурсоёмкий тест памяти.

95 - GLStressFbPulse - хорош для дефектовки проблем по питанию

112 - CudaMarchTest

127 - CudaColumnTest - долгий и результативный

143 - NewCudaMatsTest

166 - GLStressZ

178 - WfMatsBgStress - один из самых ресурсоемких, фоном запускается тест 2 - GLStress

242 - NewCudaMatsRandom

243 - NewCudaMatsStress, включает тест 200 - CudaLinpackSgemm

355 - NewCudaMatsRandomPulse


RTX3000 на GDDR6X

При наличии явных ошибок по памяти (либо обрывов по дата-линиям), сориентироваться по каналу с ошибками можно при инициализации карты (запускать со встройки или второй картой) через mods используя информацию training status

./mods gputest.js - oqa -skip_rm_state_init -notest

В ответ получим карту каналов со статусом

0x00000000 - ошибок нет

0x00000002 - ошибки в младшем канале x0

0x00000008 - ошибки в старшем канале x1

0x0000000A - ошибки по всему каналу

Error in A1


Посмотреть отчет MODS можно командой nano mods.log


Отключение каналов памяти

Бывают случаи, когда карта проходит тест MATS, но MODS не запускается, либо после запуска черный экран, в Windows также при загрузке драйверов черный или синий экран. Для дефектовки можно попробовать выявить сбойный канал перебором.

Данная процедура актуальная для версий MODS 400+

Тестируемая карта должна быть установлена второй, либо тестироваться со встройки, иначе после запуска теста получим черный экран (отключение видеовыхода) до перезагрузки ПК

./mods gputest.js -run_on_error -notest -floorsweep fbio_disable:0x01:fbp_disable:0x01

Отключение конкретного канала

A -floorsweep fbio_disable:0x01:fbp_disable:0x01

B -floorsweep fbio_disable:0x02:fbp_disable:0x02

C -floorsweep fbio_disable:0x04:fbp_disable:0x04

D -floorsweep fbio_disable:0x08:fbp_disable:0x08

E -floorsweep fbio_disable:0x10:fbp_disable:0x10

F -floorsweep fbio_disable:0x20:fbp_disable:0x20


Отключение всех каналов кроме

A -floorsweep fbio_disable:0x3E:fbp_disable:0x3E

B -floorsweep fbio_disable:0x3D:fbp_disable:0x3D

C -floorsweep fbio_disable:0x3B:fbp_disable:0x3B

D -floorsweep fbio_disable:0x37:fbp_disable:0x37

E -floorsweep fbio_disable:0x2F:fbp_disable:0x2F

F -floorsweep fbio_disable:0x1F:fbp_disable:0x1F

A/B -floorsweep fbio_disable:0x3C:fbp_disable:0x3C

C/D -floorsweep fbio_disable:0x33:fbp_disable:0x33

E/F -floorsweep fbio_disable:0x0F:fbp_disable:0x0F

Eсли карта уже имеет отключенный канал памяти (например RTX3080 10G), то следует в т.ч. отключать отсутствующий канал. Скрипт коллеги

Ошибки и их интерпретация

Отчет mats выглядит примерно следующим образом. Разница будет в количестве каналов памяти, в зависимости от видеокарты.

Отчет MATS

Поиск проблемного канала у NVIDIA

by https://t.me/viknote

Ошибки mods

Не проверено (копипаст)

Не являются неисправностями видеокарты

stored CRC/Checksum not found
user aborted the script
PCI Express bus error
I2C device not found
heatstresstest is not define
unexpected device interrupts - добавить аргумент -ignore_unexpected_interrupts


Замечания/предложения > @notebook116

Подписывайся на канал, чтобы не потерять статью: Группа в тележке

Продолжение следует...


Report Page