Test fpu что это

Тест производительности с помощью AIDA64

AIDA64 имеет множество тестов, которые возможно применять для оценивания состояния разных составляющих компьютера или техники в целом. Это искусственные тесты, т.е. они позволят дать оценку предельной эффективности системы. Тесты позволят узнать пропускную эффективность памяти, ЦП и других элементов базируются на специальном механизме AIDA64, обеспечивающий около 740 синхронных потоков работы и 10 категорий вычислителей. Этот способ гарантирует абсолютную реализацию для мультипроцессоров.

Test fpu что это. Смотреть фото Test fpu что это. Смотреть картинку Test fpu что это. Картинка про Test fpu что это. Фото Test fpu что это

AIDA64 представляет ещё одиночные тесты для оценивания пропускной способности обработки, редактирования и изменения, и удержание кэша ЦП и памяти компьютера. Дополнительно есть другой тестовый узел для оценивания эффективности девайсов памяти, флеш карт и жестких дисков.

Как пользоваться тестом

Это тестовая панель, чтобы на нее перейти необходимо нажать на кнопку в меню Сервис | Тест GPGPU, эта панель предоставляет коллекцию тестов OpenCL GPGPU. С помощью них проводят диагностику производительности с применением разнообразных нагрузок OpenCL. Любой дополнительно полученного теста следует осуществлять на 16-ти графических процессорах, или же их соединять. В общем эта опция предназначена замерять уровень эффективности самого различного компьютерного оборудования.

Test fpu что это. Смотреть фото Test fpu что это. Смотреть картинку Test fpu что это. Картинка про Test fpu что это. Фото Test fpu что это

Тестирование уровня производительности памяти

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

Тест CPU Queen

Этот немудреный тест дает оценку, каким способом происходит функционирование по предсказанию разветвлений основного ЦП и выполняется неверный прогноз ответвления. Делается выработка заключений для головоломки с 8 ферзями, находящимися на шахматной доске 10х10. Обдумываем систему: если частота равна, тот ЦП, который имеет самый низкий конвейер и если у него низкий уровень затрат, тот и выдаст лучшие итоги диагностики.

Test fpu что это. Смотреть фото Test fpu что это. Смотреть картинку Test fpu что это. Картинка про Test fpu что это. Фото Test fpu что это

CPU PhotoWorxx

Данный тест может рассчитать продуктивность процессора на базе алгоритмов работы двухмерных изображений. С достаточно большими RGB творится такое:

CPU ZLib

Представленный тест выполняет замер эффективности основного ЦП и подсистемы оперативной памяти применяя сжатие объемов информации ZLib. Указания используются базовые x86, но содействие гиперпотока, мультипроцессоры (SMP) и многоядерность (CMP).

CPU AES

Тест дает оценку эффективность основного ЦП с применением шифровки по AES (методу зашифровки по узлам). В данный момент AES применяют в некоторых программах: 7z, RAR, WinZip. Указания к применению: x86, MMX и SSE4.1. Функция на аппаратном уровне разгонен на вычислителях VIA C3, C7, Nano и QuadCore, с методами содействия VIA PadLock Security Engine. Подходит и для цп со списком директив Intel AES-NI. Производится обеспечение гиперпотоковости, мультипроцессоры (SMP) и многоядерности (CMP).

CPU Hash

Данный тест замеряет эффективность основного ЦП применяя методы кэширования SHA1 в соотношении с основным шаблоном работы 180-4. Кодировка сделана с использованием ассемблер и основан под базовые ядра AMD, Intel и VIA учитывая внедрение комплекта директив SSE2, SSSE3, MMX, MMX+/SSE, AVX, AVX2, XOP, BMI.

FPU VP8

Представленный тест делает испытание с применением видео кодека Google VP8. Выполняется кодирование за 1 путь, располагающего увеличение 1280×720 и воспроизводящиеся со быстротой 8192 кбит/с (с учётом предельного качества). Элементы снимков производятся при содействии модуля фракталов Жюлиа FPU. В этом деле используется другие продолжения и наборы директив: MMX, SSE2, SSSE3 или SSE4.1.

Видео

Источник

Почти все, что вы хотели знать про плавающую точку в ARM, но боялись спросить

Test fpu что это. Смотреть фото Test fpu что это. Смотреть картинку Test fpu что это. Картинка про Test fpu что это. Фото Test fpu что этоПривет, Хабр! В этой статье я хочу рассказать про работу с плавающей точкой для процессоров с архитектурой ARM. Думаю, эта статья будет полезна прежде всего тем, кто портирует свою ОС на ARM-архитектуру и при этом им нужна поддержка аппаратной плавающей точки (что мы и делали для Embox, в котором до этого использовалась программная реализация операций с плавающей точкой).

Флаги компилятора

‘auto’, ‘vfpv2’, ‘vfpv3’, ‘vfpv3-fp16’, ‘vfpv3-d16’, ‘vfpv3-d16-fp16’, ‘vfpv3xd’, ‘vfpv3xd-fp16’, ‘neon-vfpv3’, ‘neon-fp16’, ‘vfpv4’, ‘vfpv4-d16’, ‘fpv4-sp-d16’, ‘neon-vfpv4’, ‘fpv5-d16’, ‘fpv5-sp-d16’, ‘fp-armv8’, ‘neon-fp-armv8’ and ‘crypto-neon-fp-armv8’. Причем ‘neon’ это тоже самое что и ‘neon-vfpv3’, а ‘vfp’ это ‘vfpv2’.

Мой компилятор (arm-none-eabi-gcc (15:5.4.1+svn241155-1) 5.4.1 20160919) выдаёт немного другой список, но сути дела это не меняет. Нам в любом случае нужно понять, как влияет тот или иной флаг на работу компилятора, ну и конечно, какой флаг когда следует использовать.

Для того чтобы, разрешить работу сопроцессора нужно установить бит EN [30] в регистре FPEXC. Делается это с помощью команды VMSR

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

После разрешения работы сопроцессора стали проходить наши тесты на математические функции. Но когда я включил оптимизацию (-O2), стало возникать уже упомянутое ранее исключение undefined instruction. Причем возникало оно на инструкции vmov которая вызывалась в коде раньше, но исполнялась успешно (без возникновения исключения). Наконец, я обнаружил в конце приведенной страницы фразу “The instructions that copy immediate constants are available in VFPv3” (т.е. операции с константами поддерживаются начиная с VFPv3). И решил проверить, какая же версия релизована в моем эмуляторе. Версия записана в регистре FPSID. Из документации следует, что значение регистра должно быть 0x41011090. Это соответствует 1 в поле architecture [19..16] то есть VFPv2. Собственно, сделав распечатку при старте, я это и получил

Ассемблер

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

Регистры

Начнем с описание регистров. VFP позволяет совершать операции с 32-битными (s0..s31) и 64-битными (d0..d15) числами с плавающей точкой, Соответствие между этими регистрами показано на картинке ниже.

Test fpu что это. Смотреть фото Test fpu что это. Смотреть картинку Test fpu что это. Картинка про Test fpu что это. Фото Test fpu что это

Q0-Q15 — это 128-битные регистры из более старших версий для работы с SIMD, о них чуть позже.

Система команд

Конечно, чаще всего работу с VFP-регистрами стоит отдать компилятору, но как минимум переключение контекста придётся написать вручную. Если у вас уже есть примерное понимание синтаксиса команд ассемблера для работы с регистрами общего назначения, разобраться с новыми командами не должно составить большого труда. Чаще всего просто добавляется приставка “v”.

И так далее. Полный список команд можно посмотреть на сайте ARM.

Ну и конечно не стоит забывать о версии VFP, чтобы не возникло ситуаций вроде той, что описана выше.

‘softfp’ allows the generation of code using hardware floating-point instructions, but still uses the soft-float calling conventions. ‘hard’ allows generation of floating-point instructions and uses FPU-specific calling conventions.

“Compiler can make smart choices about when and if it generates emulated or real FPU instructions depending on chosen FPU type (-mfpu=) “

На вопрос, какой же флаг использовать ‘softfp’ или ‘hard’, я ответил для себя следующим образом: везде где нет уже скомпилированных с флагом ‘softfp’ частей, следует использовать ‘hard’. Если же такие есть, то необходимо использовать ‘softfp’.

Переключение контекста

Поскольку Embox поддерживает вытесняющую многозадачность, для корректной работы в рантайме, естественно, нужна была реализация переключения контекста. Для этого необходимо сохранять регистры сопроцессора. Тут есть пара нюансов. Первый: оказалось что команды операций со стеком для плавающих точек (vstm/vldm) поддерживают не все режимы. Второй: эти операции не поддерживают работу более, чем с шестнадцатью 64-битных регистров. Если за раз нужно загрузить/сохранить больше регистров, нужно использовать две инструкции.

Еще приведу одну небольшую оптимизацию. На самом деле, каждый раз сохранять и восстанавливать по 256 байт VFP-регистров совсем не обязательно (регистры общего назначения занимают всего 64 байта, так что разница существенная). Очевидной оптимизацией будет совершать эти операции только если процесс этими регистрами в принципе пользуется.

Как я уже упоминал, при выключенном сопроцессоре VFP попытка исполнить соответствующую инструкцию будет приводить к исключению “Undefined Instruction”. В обработчике этого исключения нужно проверить, чем исключение вызвано, и если дело в использовании VPF-сопроцессора, то процесс помечается как использующий VFP-сопроцессор.

В итоге уже написанное сохранение/восстановление контекста дополнилось макросами

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

Сопроцессор NEON и SIMD

Пришло время рассказать, почему я отложил рассказ про imx6. Дело в том что он основан на ядре Cortex-A9 и содержит более продвинутый сопроцессор NEON (https://developer.arm.com/technologies/neon ). NEON не только является VFPv3, но это еще и сопроцессор SIMD. VFP и NEON используют одни и те же регистры. VFP использует для работы 32- и 64-разрядные регистры, а NEON — 64- и 128-битные, последние как раз и были обозначены Q0-Q16. Помимо целых значений и чисел с плавающей точкой NEON также умеет работать с кольцом многочленов 16-й или 8-й степени по модулю 2.

но других принципиальных отличий нет.

Использование SIMD в C

Для того, чтобы > значения по регистрам вручную, можно заинклудить “arm_neon.h” и использовать соответствующие типы данных:
float32x4_t для четырёх 32-битных флоатов в одном регистре, uint8x8_t для восьми 8-битных целых чисел и так далее. Для обращения к одному значению обращаемся как к массиву, сложение, умножение, присвоение и т.д. как для обычных переменных, например:

Цикл со сложениями генерирует следующий код:

Проведя тесты на распараллеленный код, получили, что простое сложение в цикле, при условии независимости переменных дает ускорение аж в 7 раз. Кроме того, мы решили посмотреть, насколько влияет распараллеливание на реальных задачах, взяли MESA3d с его программной эмуляцией и померили количество fps с разными флагами, получился выигрыш в 2 кадра в секунду (15 против 13), то есть, ускорение около 15-20%.

Приведу еще один пример ускорения с помощью команд NEON, не нашего, а от ARM-а.

Копирование памяти ускоряется почти на 50 процентов по сравнению с обычным. Правда примеры там на ассемблере.

Обычный цикл копирования:

цикл с командами и регистрами neon:

Понятно, что копировать по 64 байта быстрее чем по 4 и такое копирование даст прирост на 10%, но остальные 40% похоже дает работа сопроцессора.

Cortex-M

Работа с FPU в Cortex-M мало чем отличается от описанного выше. Например, вот так выглядит приведенный выше макрос для сохранения fpu-шного контекста

Основным же отличием является доступ к управляющим регистрам контроллера они расположены прямо в адресном пространстве основного ядра для причем для разных типов они разные cortex-m4 для cortex-m7.

Источник

Для чего нужен Stress FPU в AIDA64

Stress FPU в AIDA64 позволяет оценить стабильность работы центрального процессора при максимальной для него нагрузке в сценарии обработки чисел с плавающей запятой на протяжении ограниченного человеком промежутка времени. При этом можно наблюдать за температурными показателями устройства и его частотой в реальном времени на диаграмме или специальных информационных панелях.

Как запустить

FPU – floating point unit – это сопроцессор – модуль для выполнения операций с вещественными числами, преимущественно с плавающей точкой (часто называют с плавающей запятой). Основные ядра не могут заниматься такими расчётами, потому что для выполнения математических операций с вещественными числами нужны соответствующие процедуры.

Отдельный модуль для работы с такими числами загружает их, выгружает из регистров и выполняет математические операции за один такт, что значительно ускоряет процесс обработки по сравнению с процессором. В утилите для проведения теста стабильности системы предусмотрен сценарий Stress FPU – максимальная нагрузка блока для проведения математических операций над числами с плавающей запятой.

Test fpu что это. Смотреть фото Test fpu что это. Смотреть картинку Test fpu что это. Картинка про Test fpu что это. Фото Test fpu что это

Test fpu что это. Смотреть фото Test fpu что это. Смотреть картинку Test fpu что это. Картинка про Test fpu что это. Фото Test fpu что это

Наблюдайте за температурой оборудования и не допускайте ее приближения к критической градусов на 20 0 С. Пиковое значение указано в разделе: «Системная плата»CPUID строка «Температура Tjmax».

Test fpu что это. Смотреть фото Test fpu что это. Смотреть картинку Test fpu что это. Картинка про Test fpu что это. Фото Test fpu что это

На первом графике значение термодатчика центрального процессора CPU начнет стремительно подниматься. На нижнем – одна кривая показывает нагрузку на математический сопроцессор, вторая – CPU Throttling – его троттлинг. Это механизм защиты процессора от термических повреждений, возникающих при перегреве или длительной работе при высокой температуре.

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

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

Тестирование прерывается вручную кнопкой Stop. В настройках АИДА 64 можно указать приложению автоматически завершать работу при достижении на термодатчике указанной температуры центрального процессора или вывести уведомление о достижении указанного значения на термодатчике.

Источник

Зависает пк при FPU Stress test

Доброго времени суток. Недавно столкнулся, что в требовательных играх, таких как gta 5 всё идёт плавно 60 fps, а через 10 минут игры компьютер намертво зависает.
Решил по советам в интернете прогнать стресс тест Aida64. В итоге после запуска fpu test пк точно также намертво завис. В чём может быть причина и за что отвечает fpu test?

Если что, вот моё железо (собирал пк два дня назад):
AMD Ryzen 5 1400
Gigabyte GeForce GTX 1050 windforce oc
Материнка Asus prime b350 plus
Озу: 8 гб
По-моему это связано с охлаждением, так что вот тоже инфа про него:
Куллер процессора боксовый amd ryzen 5 1400
2 куллера в корпусе на вдув и выдув. В биосе отображается, что они работают. Чем выше температура, тем быстрее начинают крутиться.
На видеокарте gigabyte куллеры по умолчанию активируются только когда температура доходит до 60 градусов

если отключить остальные галочки, то замечено, что с голым тестом FPU проц жрет и греется всильнее всего. То есть явно какая-то просадка, стабилизатор не выдерживает нагрузку.

Это одна из версий.

Еще не исключены неисправность самого процессора (доразгонялся, убил) или памяти

Систему вообще не разгонял. А хотяя. в биосе выставлено «System tuning: оптимальный»
quiet: 30%
Perfomance: 70%
Energy saving: 30%

Может ли это считаться за разгон? Сейчас попробую в обычном режиме запустить

Тестирование производительности картинка №1
Система AIDA64 даёт возможность за счёт отдельных тестов проводить оценку пропускной способности считывания, записи, копирования и торможения кэша. Ко всему этому прилагается модуль-тест, позволяющий оценить работу накопительных устройств, в частности жестких дисков (S)ATA или SCSI, SSD-накопителей, RAID-массивов, карт памяти, оптических дисков, и USB-накопителей.

Тестирование качества работы GPGPU
Эта тестовая панели располагает набором тестов OpenCL GPGPU. Доступ к этой функции вы можете получить в разделе Сервис/Тест GPGPU. Благодаря им оценивают вычислительную производительность с использованием различных нагрузок OpenCL. Каждый отдельно взятый тест можно проходить на 16-ти графических процессорах, в том числе процессорах NVIDIA, AMD и Intel, или же их комбинировать. Несомненно, идёт полная поддержка конфигураций CrossFire, SLI, APU и dGPU. В целом такая функция позволяет определить уровень производительности любой вычислительной техники, предоставленной в качестве графического процессора устройств OpenCL.

Тестирование производительности картинка №2
AIDA64 проводит не только комплексные тесты, но и микротесты, которые есть в разделах «Тесты»/ «Страница». За счёт полной базы данных показатели можно сравнивать с аналогичными по другим конфигурациям.

Кроме того, тест позволяет оценить задержку памяти, что происходит из-за считывания процессором данных из памяти системы. Задержка памяти являет собой время, на протяжении которого идёт передача данных в регистре целочисленной арифметики процессора после того, как происходит выдачи команды для считывания.

CPU PhotoWorxx
Тестирование производительности картинка №4
Представленный целочисленный тест даёт возможность установить производительность процессора на основе алгоритмов обработки двухмерных фото. С довольно крупными изображение RGB происходит следующее:

заполнение рисунка пикселями цветом, выбранным

Источник

Что делает опция “Stress FPU” в Aida64?

Тот, кто хоть раз запускал тест стабильности системы в программе Aida64 (бывший Everest), или хотя бы открывал его окно, то должен был обратить внимание на наличие галочки, которая называется “Stress FPU”. Судя по тому, что она находится среди других опций, активирующих нагрузку на отдельные компоненты ПК, не совсем понятно, за какой конкретный компонент она отвечает. Разобраться в этом нам и предстоит в данной статье.

Что такое FPU?

Как известно, процессор в единицу времени обрабатывает достаточно большой объем данных, среди которых есть операции с плавающей точкой. Говоря более простыми словами, это операции с дробными числами, причем дробная часть, может быть достаточно длинной, например 0,000014345679.

Именно количество операций с плавающей точкой в секунду (floating-point operations per second) является одим из основных показателей производитеьности системы. Измеряется оно в FLOPS.

Test fpu что это. Смотреть фото Test fpu что это. Смотреть картинку Test fpu что это. Картинка про Test fpu что это. Фото Test fpu что это

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

Что же такое Stress FPU?

Эта опция в тесте стабильности программы Aida64, которая задействует для увеличения нагрузки на процессор (графичечкий процессор) расчет операций с плавающей точкой.

Test fpu что это. Смотреть фото Test fpu что это. Смотреть картинку Test fpu что это. Картинка про Test fpu что это. Фото Test fpu что это

Тест стабильности системы в Aida64

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

Источник

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

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