История изменений
Исправление GPFault, (текущая версия) :
По поводу memtestCL можно поподробнее, пожалуйста?
memtestCL работает на windows/linux + amd, вообще на чём угодно под любой ОС, где есть opencl, даже на arm-ах под линуксом а-ля nanoPI. Главное собрать)
Другое дело что выводы по нему можно делать достаточно ограниченные. Адрес ошибки даже в виртуальной памяти он не показывает. Это теоретически можно допилить, благо есть исходники, но без опыта по opencl я за 20 минут не осилил понять как именно. То есть до получени информации о том, какой чип неисправен тут далеко.
Так что выводы по результатам memtestCL достаточно ограниченные:
- Если на тестировании всего объёма ошибок нет, а в других приложениях ошибки - память непричём, виноват чип.
- тестируемый объём успешно задаётся аргументами команлной строки
- иногда для тестирования всвего объёма приходится запускаь параллельно несколько экземпляров, т.к. не все реализации opencl могут один большой блок, особенно больше 4gb
- Если на тестировании всего объёма ошибки есть, а на тестировании малого (порядка 2*объём кеша) ошибок нет - виновата память
- Если на тестировании малого объёма ошибки есть - то отличить GPU от памяти проблематично
- но в такой ситуации вообще странно, что поставился драйвер. Что на линуксе, что на винде при сильных проблемах с памятью об успешной установке драйвера и создании opencl-контекста речь обычно не идёт.
Устройство инициализированно - каким образом определить? Ну то есть если висит в виндовом диспетчере с ошибкой, то инициализированно?
В контексте тестирования памяти при помощи mats (т.е. без драйвера, производящего opencl-вычиcления) понятие устройство иннициализировалось это «с момента последнего reset видеокарта прошла первичную инициацлизацию своих компонент до состояния в котором активна память и ативно отображение памяти на адресное простанвство CPU согласно PCIe BAR». Это внутреннее состояние устройства, никакого внятного способа понять произошло это или нет - мне неизвестно. Есть только крайние случаи:
- если mats запускается и на объёме 2*размер_кеша говорит что как минимум по некоторым банкам нет ошибок - значит инициализация прошла
- если кусок вывода в
lspci -v
показывате диапазон памяти как disabled - значит инициализации не было
Инициализацию умеет делать BIOS POST (на десктопах, иначе как бы он смог что-то показывать), а также драйвера - nvidia, nouveau. Часто, если драйвер уже выдал какое-то сообщение об ошибке - знаичт инициализацию он начал, и скорее всего доыёл до интересного нам места. Поэтому когда в dmesg появляется ошибка от драйвера, или в винде появляется ошибка 43 - велик шанс что инициализация выполнена. Особенно если подождать сакральные 2 минуты, о которых я писал в этом треде выше.
Но т.к. mats под винду нет (да, лоровцы, это пример суперогороженного проприетарного софта, который есть только под linux) - то толку от ошибки 43 абсолютно никакого. При ребуте инициализированность утратится. Теоретически, при желании можно наверное написать тестилку памяти по физическим адресам под винду.
Исправление GPFault, :
По поводу memtestCL можно поподробнее, пожалуйста?
memtestCL работает на windows/linux + amd, вообще на чём угодно под любой ОС, где есть opencl, даже на arm-ах под линуксом а-ля nanoPI. Главное собрать)
Другое дело что выводы по нему можно делать достаточно ограниченные. Адрес ошибки даже в виртуальной памяти он не показывает. Это теоретически можно допилить, благо есть исходники, но без опыта по opencl я за 20 минут не осилил понять как именно. То есть до получени информации о том, какой чип неисправен тут далеко.
Так что выводы по результатам memtestCL достаточно ограниченные:
- Если на тестировании всего объёма ошибок нет, а в других приложениях ошибки - память непричём, виноват чип.
- тестируемый объём успешно задаётся аргументами команлной строки
- иногда для тестирования всвего объёма приходится запускаь параллельно несколько экземпляров, т.к. не все реализации opencl могут один большой блок, особенно больше 4gb
- Если на тестировании всего объёма ошибки есть, а на тестировании малого (порядка 2*объём кеша) ошибок нет - виноватат память
- Если на тестировании малого объёма ошибки есть - то отличить GPU от памяти проблематично
- но в такой ситуации вообще странно, что поставился драйвер. Что на линуксе, что на винде при сильных проблемах с памятью об успешной установке драйвера и создании opencl-контекста речь обычно не идёт.
Устройство инициализированно - каким образом определить? Ну то есть если висит в виндовом диспетчере с ошибкой, то инициализированно?
В контексте тестирования памяти при помощи mats (т.е. без драйвера, производящего opencl-вычиcления) понятие устройство иннициализировалось это «с момента последнего reset видеокарта прошла первичную инициацлизацию своих компонент до состояния в котором активна память и ативно отображение памяти на адресное простанвство CPU согласно PCIe BAR». Это внутреннее состояние устройства, никакого внятного способа понять произошло это или нет - мне неизвестно. Есть только крайние случаи:
- если mats запускается и на объёме 2*размер_кеша говорит что как минимум по некоторым банкам нет ошибок - значит инициализация прошла
- если кусок вывода в
lspci -v
показывате диапазон памяти как disabled - значит инициализации не было
Инициализацию умеет делать BIOS POST (на десктопах, иначе как бы он смог что-то показывать), а также драйвера - nvidia, nouveau. Часто, если драйвер уже выдал какое-то сообщение об ошибке - знаичт инициализацию он начал, и скорее всего доыёл до интересного нам места. Поэтому когда в dmesg появляется ошибка от драйвера, или в винде появляется ошибка 43 - велик шанс что инициализация выполнена. Особенно если подождать сакральные 2 минуты, о которых я писал в этом треде выше.
Но т.к. mats под винду нет (да, лоровцы, это пример суперогороженного проприетарного софта, который есть только под linux) - то толку от ошибки 43 абсолютно никакого. При ребуте инициализированность утратится. Теоретически, при желании можно наверное написать тестилку памяти по физическим адресам под винду.
Исправление GPFault, :
По поводу memtestCL можно поподробнее, пожалуйста?
memtestCL работает на windows/linux + amd, вообще на чём угодно под любой ОС, где есть opencl, даже на arm-ах под линуксом а-ля nanoPI. Главное собрать)
Другое дело что выводы по нему можно делать достаточно ограниченные. Адрес ошибки даже в виртуальной памяти он не показывает. Это теоретически можно допилить, благо есть исходники, но без опыта по opencl я за 20 минут не осилил понять как именно. То есть до получени информации о том, какой чип неисправен тут далеко.
Так что выводы по результатам memtestCL достаточно ограниченные:
- Если на тестировании всего объёма ошибок нет, а в других приложениях ошибки - память непричём, виноват чип.
- тестируемый объём успешно задаётся аргументами команлной строки
- иногда для тестирования всвего объёма приходится запускаь параллельно несколько экземпляров, не все реализации opencl могут один большой блок, особенно больше 4gb)
- Если на тестировании всего объёма ошибки есть, а на тестировании малого (порядка 2*объём кеша) ошибок нет - виноватат память
- Если на тестировании малого объёма ошибки есть - то отличить GPU от памяти проблематично
- но в такой ситуации вообще странно, что поставился драйвер. Что на линуксе, что на винде при сильных проблемах с памятью об успешной установке драйвера и создании opencl-контекста речь обычно не идёт.
Устройство инициализированно - каким образом определить? Ну то есть если висит в виндовом диспетчере с ошибкой, то инициализированно?
В контексте тестирования памяти при помощи mats (т.е. без драйвера, производящего opencl-вычиcления) понятие устройство иннициализировалось это «с момента последнего reset видеокарта прошла первичную инициацлизацию своих компонент до состояния в котором активна память и ативно отображение памяти на адресное простанвство CPU согласно PCIe BAR». Это внутреннее состояние устройства, никакого внятного способа понять произошло это или нет - мне неизвестно. Есть только крайние случаи:
- если mats запускается и на объёме 2*размер_кеша говорит что как минимум по некоторым банкам нет ошибок - значит инициализация прошла
- если кусок вывода в
lspci -v
показывате диапазон памяти как disabled - значит инициализации не было
Инициализацию умеет делать BIOS POST (на десктопах, иначе как бы он смог что-то показывать), а также драйвера - nvidia, nouveau. Часто, если драйвер уже выдал какое-то сообщение об ошибке - знаичт инициализацию он начал, и скорее всего доыёл до интересного нам места. Поэтому когда в dmesg появляется ошибка от драйвера, или в винде появляется ошибка 43 - велик шанс что инициализация выполнена. Особенно если подождать сакральные 2 минуты, о которых я писал в этом треде выше.
Но т.к. mats под винду нет (да, лоровцы, это пример суперогороженного проприетарного софта, который есть только под linux) - то толку от ошибки 43 абсолютно никакого. При ребуте инициализированность утратится. Теоретически, при желании можно наверное написать тестилку памяти по физическим адресам под винду.
Исходная версия GPFault, :
По поводу memtestCL можно поподробнее, пожалуйста?
memtestCL работает на windows/linux + amd чём угодно под любой ОС, где есть opencl, даже на arm-ах под линуксом а-ля nanoPI. Главное собрать)
Другое дело что выводы по нему можно делать достаточно ограниченные. Адрес ошибки даже в виртуальной памяти он не показывает. Это теоретически можно допилить, благо есть исходники, но без опыта по opencl я за 20 минут не осилил понять как именно. То есть до получени информации о том, какой чип неисправен тут далеко.
Так что выводы по результатам memtestCL достаточно ограниченные:
- Если на тестировании всего объёма ошибок нет, а в других приложениях ошибки - память непричём, виноват чип.
- тестируемый объём успешно задаётся аргументами команлной строки
- иногда для тестирования всвего объёма приходится запускаь параллельно несколько экземпляров, не все реализации opencl могут один большой блок, особенно больше 4gb)
- Если на тестировании всего объёма ошибки есть, а на тестировании малого (порядка 2*объём кеша) ошибок нет - виноватат память
- Если на тестировании малого объёма ошибки есть - то отличить GPU от памяти проблематично
- но в такой ситуации вообще странно, что поставился драйвер. Что на линуксе, что на винде при сильных проблемах с памятью об успешной установке драйвера и создании opencl-контекста речь обычно не идёт.
Устройство инициализированно - каким образом определить? Ну то есть если висит в виндовом диспетчере с ошибкой, то инициализированно?
В контексте тестирования памяти при помощи mats (т.е. без драйвера, производящего opencl-вычиcления) понятие устройство иннициализировалось это «с момента последнего reset видеокарта прошла первичную инициацлизацию своих компонент до состояния в котором активна память и ативно отображение памяти на адресное простанвство CPU согласно PCIe BAR». Это внутреннее состояние устройства, никакого внятного способа понять произошло это или нет - мне неизвестно. Есть только крайние случаи:
- если mats запускается и на объёме 2*размер_кеша говорит что как минимум по некоторым банкам нет ошибок - значит инициализация прошла
- если кусок вывода в
lspci -v
показывате диапазон памяти как disabled - значит инициализации не было
Инициализацию умеет делать BIOS POST (на десктопах, иначе как бы он смог что-то показывать), а также драйвера - nvidia, nouveau. Часто, если драйвер уже выдал какое-то сообщение об ошибке - знаичт инициализацию он начал, и скорее всего доыёл до интересного нам места. Поэтому когда в dmesg появляется ошибка от драйвера, или в винде появляется ошибка 43 - велик шанс что инициализация выполнена. Особенно если подождать сакральные 2 минуты, о которых я писал в этом треде выше.
Но т.к. mats под винду нет (да, лоровцы, это пример суперогороженного проприетарного софта, который есть только под linux) - то толку от ошибки 43 абсолютно никакого. При ребуте инициализированность утратится. Теоретически, при желании можно наверное написать тестилку памяти по физическим адресам под винду.