TestMem support page - TestMem I

TestMem techsupport home page

home   news   software   articles   other   links   contact


 

Мои программы:

Тест памяти

TestMem1
TestMem2
TestMem3
TestMem4
Тест памяти и стабильности процессора под Windows
S&M
Тест стабильности процессора под DOS
S@M
Автоматическое управление частотой процессора
C&QnF2
Тест видеопамяти
TestVideoRAM
Загрузчик video BIOS
Loader
Меню для VGA
Video BIOS extender
Производительность подсистемы памяти
BenchMem
Other
Программа проверки стабильности работы процессора при выполнении каманд SSE

CST ( CPU Stress Test )

    С О Д Е Р Ж А Н И Е
Зачем нужна эта программа
Описание работы
Внешний вид
Настройка
Особенности
Что, где, ...??

Зачем нужна эта программа.

Это не совсем автономная программа, просто мне интересно было сделать тест для S&M. У меня есть модули, оптимизированные под AMD K7/8/10 и Intel P4/Core2, но они работают на FPU командах. Альтернативные программы (например Prime95 и другие) работали на SSE, что вызывало постоянные конфликты. В частности, какая программа больше нагревает процессор и какая лучше обнаруживает ошибки? Как говорится, пинали-пинали и допинали. Пришлось-таки наступить на свою жабу и собрать программу именно на SSE. Здесь практически не используются другие команды, основной цикл построен исключительно на SSE.
CST пранировался как временный тестовый модуль, потом его можно будет встроить в S&M ... если эффект будет. Сами понимаете, лепить в программу декоративные модули только 'для галочки' несерьезно.

Описание работы.

Программа нагружает процессор SSE командами. При этом использутся алгоритм трансформации матриц (перемножение).
В программе 3 теста, которые выполняются последовательно. Для каждого из трех можно выбрать свой размер матрицы, количество вычислений и количество повторений теста на один проход. Если не нужны все три теста, то любой их них можно отключить, поставив 0 как размер матрицы.
Все настройки делаются через файл cst.ini. С одной стороны, это не очень удобно, с другой - не особо и актуально, а вот сложность тестовой программы явно излишне утяжелится GUI. Да и не нужно это, достаточно один раз подстроить под себя и забыть.

Внешний вид.

CST ( CPU Stress Test )



Окно программы имеет несколько полей:

Processor - немного информации о процессоре.
Название процессора.
CPU ID - код идентификации процессора в виде "Фирма" "Семейство-Модель-Версия" "хКоличество ядер".
Clock* - частота процессора. Звездочка поставлена не случайно - при сниженном множителе програма не будет это видеть и предполагать максимальный множитель. В результате можно получить очень 'веселенькую' цифру. Если использовать драйвер, (есть такое), то эту несуразицу легко устранить ... но зачем это в данной программе? Ставить драйвер только ради правильного показа частоты процессора явная глупость, поэтому просто смиритесь, если увидите частоту процессора значительно больше реальной.
SSE - поддерживемые режимы SSE. Т.к. это крайне важно для моей программы, то это вынесено на окно. Первые версии расчитаны только на процессоры с поддержкой sSSE3 и не будут работать, если в процессоре не реализовано это расширение.

Memory - информаци о системной памяти.
Total - сколько всего памяти. Может быть чуть-чуть меньше из-за ограничений BIOS (точно теряется 1Mb) или не_чуть, если памяти больше 3Gb и используется Windows редакции "x86" без поддержки 4Gb. Сюда относятся все не_серверные версии Windows х86 (...W2K, XP, Vista, w7...).
Available - свободная, пока незанятая память.
Accessable - какой регион памяти можно адресовать из программы. Существует масса ограничений, поэтому это число, как правило, меньше 2Gb даже в Windows с поддержкой "3Gb" на процесс.
Число после запятой - максимальный размер матрицы, которая может быть создана на данном компьютере.
Used by test - сколько используется под тест. Если это число приближается к "Accessable" или количество свободной памяти становится очень маленьким, то это означает, что тест съел всю возможную память, но не смог сгенерировать матрицу того размера, что указано в настройках теста(ов). Учтите это при настройке тестов. Может будет лучшим вариантом увеличить количество повторов и уменьшить размер самой матрицы.

Tests - раздел тестов.
Их три - Test 1, Test 2, Test 3. В каждом есть 3 поля.
1. информация о конфигурации теста вида:
     - размер матрици
     - количество повторов
     - количество повторений теста
2. производительность выполнения операции, в GFlops. Число примерно подогнано к действительности, но может немного врать. Его надо использовать для выбора настроек теста - чем больше производительность, тем выше нагрузка на процессор и его нагрев.
3. процент выполненности теста.

Status - раздел служебной информации о тестировании.
Time - время от начала тестирования.
Cycle - номер повтора выполнения тестов.
Error - код ошибки. Обычно там пусто. :)
Нижняя часть окна не особо интересная и вряд-ли вызовет затруднения. Кнопка "Exit" выбрана по умолчанию, поэтому для выхода из программы достаточно нажать Enter или пробел.
"Send Bug Report" - какой-то рудимент. Надо-бы его убрать.

Настройка.

Програма настраивается через файл cst.ini.
Раздел [CST setup], параметры:
Priority - приоритет програмы. Может иметь 3 значения:
    -1 - пониженный приоритет, не будет мешать работать на компьютере, но из-за нагрузки на процессор других програм снижается эффективность.
    0 - обычный приоритет. Может мешать.
    1 - повышенный приоритет. Ставить не советую, работать за компьютером невозможно.
UseCache - использовать кеширование результатов. При этом первый проход теста уже считается результативным. Теоретически, может вызывать сбой, если в него поместится неверный результат. Крайне маловероятно. Но если так, то достаточно удалить из каталога программы файлы вида i6***x*.bin, при последующем запуске програма их сама создаст и заполнит.
    0 - отключено кеширование
    1 - включено
CheckMode - режим генерации шаблонов. Разрешены два режима:
    0 (обычный)
    1 (повышенной чуствительности).
CheckType - тип генерации щаблона, может иметь значение от 0 до 3:
    0 - постоянный шаблон
    1 - переменный шаблон
    2 - более агрессивная версия первого типа.
Разделы [Test1], [Test2], [Test3], параметры:
Matrix - размер матрицы. Может быть от 0 (тест выключен) до 15.
Repeat - количество повторений вычисления матриц до проверки на корректность результата.
Число больше 0. Не ставьте слишком много, растет время.
Cycles - количество повторений цикла вычисление-проверка. Число должно быть больше 0.

Особенности.

В программе есть некоторые особенности, которые хорошо бы учитывать.
1. Размер матрицы стоит выбирать из акцента тестирования. Маленькие бОльшей частью умещаются в кешь 1-2 уровня процессора и мало зависят от системной памяти (при Repeat>1). Матрицы среднего размера больше нагружают кешь второго уровня и память. Самые большие матрицы скорее ориентированы на системную память.
2. Чем больше размер матрицы, тем меньше накладные расходы на начало-конец вычислений строк-столбцов. Поэтому с ростом размера матрицы растет и степень нагрузки на процессор. Но это только в том случае, когда нет повторений вычисления. Если Repeat выставить больше 1, то старт-стопные задержки нивелируются, это хорошо видно по возрастанию GFlops и бОльшей температуре процессора.
3. При Repeat>1 падает обнаруживающая способность из-за вытеснения информационных бит в результате вычислений. Эффект выражен слабо и ошибки находятся при Repeat>300, но об этом стоит помнить.
4. Количество повторов может быть только нечетным. Поэтому Repeat=2 сразу становится Repeat=3. В индикации настроек это не отражается, зачем пугать? :)
5. Не все размеры матриц одинаковы по эфективности обнаружения сбоев. Попробуйте перебрать. Зависеть может от чего угодно - от размера L1, L2, (L3?), производительности подсистемы памяти....
6. В версии 0.03 есть внутренняя проблема, которая выражается в взаимном захвате и ожидании тредов. Очень неприятная проблема, проявляется в загрузке только 1 ядра, низкой производительности тестирования и невозможности выйти из программы по кнопке "Exit". Возникает редко, природа эффекта и лекарство выясняются.
Sorry! (на то и 'тестовая' версия)

Что, где, ...???

В программе нет закладки "About", поэтому здесь.
Программа предоставляется на принципах AS-IS без какой-либо ответственности.
CST(c)
Пользуйтесь программами мониторинга (например
SpeedFan) и смотрите за температурой компонентов компьютера. Перегреться может не только процессор, но и преобразователь питания этого процессора, системная память или северный (южный) мост.
Текущая версия: 0.11b.

back