Тестовые математические дополнения FFTW: работа с ошибками

Всe ядрa прoцeссoрa рaбoтaть нa чaстoтe 4,0 Ггц. Вooбщe, слeдуeт oтмeтить, чтo в испoльзуeмыx нaми тeст-зaдaчa oчeнь xoрoшo рaспaрaллeливaeтся. Выбoр в пoльзу пaкeтa FP32 (float) сдeлaнo нa тoм oснoвaнии, чтo для этoгo пoлучaeтся минимaльный рaзбрoс рeзультaтoв. Пoэтoму мы сeйчaс гoтoвим нoвый тeст, с пoмoщью мaтeмaтичeскoгo пaкeтa MatLab (FFT). Зaключeниe
Тaк чтo, в этoй стaтьe мы рaссмoтрим испрaвлeны тeст нa oснoвe прилoжeния FFTW 3.3.5, кoтoрый пoявился из-зa aктивнoгo oбсуждeния нa фoрумe и aктивныx читaтeлeй. Также в конце хотелось бы отметить, что мы рассмотрели результаты тестирования, с помощью пакета GNU Octave 4.0.3 и пришли к выводу, что этот тест подходит для тестирования процессоров и ПК. Был снова собран (скомпилирован) пакет FFTW под операционную систему » Windows (GCC приложение 6.1.0). Один из возможных вариантов решения СЛАУ десятки тысяч уравнений с рандомными коэффициентами методом обратной матрицы. В ходе обсуждения статьи, посвященные использованию пакет FFTW 3.3.5 в роли бенчмарка, показал, что проведенные нами измерения не корректны, потому что мы, по сути, измеряется не время для реализации преобразования Фурье, а время планирования эти реформы, которая не раскрывает. Итак, активное участие из-за наших форумчан (за что им еще раз выражаем свою признательность) тестирование с помощью пакета FFTW 3.3.5 был полностью преобразован. д. К сожалению, не готовые скрипты для MatLab, которые можно использовать в качестве референт, нам не удалось найти. В дальнейшем мы говорим о логических ядрах процессора, количество которых изменяется от 2 до 20 с шагом 2. Создается файл планирование wis.dat используется команды запуска расследования. Зависимость результатов от количества ядер процессора на
Количество используется для тестирования ядер процессора Intel Core i7–6950X регулировалось через настройки UEFI BIOS платы Asus Rampage V Edition 10. Тайминги памяти были зафиксированы и не изменились изменении частоты. Но вот, насколько это соответствует действительности — это вопрос. Для теста записал среднее время преобразования Фурье. Частота работы всех ядер процессора фиксировалась (то есть режим Turbo Boost отключался). Причем, собрались в два отдельных пакета FP32 (float) и FP64 (double). Другой возможный вариант решение трехмерной задачи о колебания в случае мембраны, закрепленные успевает дальнейшей анимации. Если наших читателей, которые работают в MatLab, есть реальная ресурсоемкие задачи, с которыми они готовы поделиться, то, как говорится, добро пожаловать на борту. В данном случае просчитывается большое количество кадров, что требует значительного времени. При увеличении частоты памяти с 1600 до 2800 Mhz (рост 75%), а реализации тестовой задачи уменьшается на 33%. Важно, что время выполнения команды почти не зависит от процессора производительность и предоставляется только параметры -r-t. В данном случае важно, что одного измерения проводились многочисленные реформы Фурье, что позволяет точно определить время одного преобразования, с небольшой погрешностью. скамья -v2 -r -t -owisdom -owisdom-only -onthreads= […]

В данном случае параметр -r устанавливает количество повторов измерений, а параметр -t задает время одного измерения. Тестирования результаты представлены далее:

Как видим, скорость выполнения тестовых задач очень сильно зависит от скорости работы (это тот редкий случай, когда в памяти что-то зависит). Напомним, что процессор Intel Core i7–6950X в 10-ядерный, но поддерживает технологию Hyper-Threading, поэтому операционной системы и приложений его видит, как 20-ядерной. Мы будем тестировать различные виды трансформации (одномерные, двумерные, трехмерные), но в конце концов остановились трехмерные преобразования icf256x256x256 с помощью пакета FP32 (float). Идеи в этом плане есть, но все еще находится в стадии разработки. Мы не отключали технологию Hyper-Threading и изменить только количество физических ядер процессора от 1 до 10. Память работала в четырехканальном режиме (по одному в модуле канал), а частота памяти изменяется в настройках UEFI BIOS в диапазоне от 1600 Мгц до 2800 Мгц с шагом 200 Мгц. Теперь перейдем к самой проблеме (тип преобразования). скамья -r 1 -t 0.001 -owisdom -opatient -onthreads= icf256x256x256

а результаты рассмотрения — команду:

скамья -v2 -r 5 -т-10-owisdom -owisdom-only -onthreads= icf256x256x256

Потоков количество () соответствует количеству логических ядер процессора, то есть количество ядер с учетом Hyper-Threading. Зависимость результатов от частоты процессора
Частота ядер процессора Intel Core i7–6950X изменились настройки в UEFI BIOS платы Asus Rampage V Edition 10 изменения коэффициента умножения. Дело в том, что преобразования icf256x256x256, как утверждают разработчики, пакет FFTW, часто используется для практических заданий (двумерное преобразование icf1024x1024, кстати, тоже, но нам нужно было выбрать что-то одно). Однако не будем торопить события. Одного измерения могут быть проведены тысячи реформ Фурье. Были использованы все основные процессора (10 физическая/20 логично): Частота меняется от 3,0 Ггц до 4,2 Ггц с шагом 200 Мгц. Это, конечно, не означает, что скорость преобразования 20 потоков должно быть в десять раз выше, чем в 2 потока, но, тем не менее, зависимость скорости преобразования количество потоков/ядер практически линейной (в диапазоне от 2 до 20 ядер). Во-первых, сценарий, используется в качестве тестовой задачи (workload), очень плохо распараллеливается, а во-вторых, детально проникнуть в суть этого сценария, мы пришли к выводу, что это не соответствует реальным проблемам. Программа создается и применяется фиксированный набор параметров для конкретной размерности преобразования, размер в осей, типы входных и выходных данных, количество потоков, алгоритм преобразования и т. Трудность заключается в том, чтобы создать сценарий, который, с одной стороны, соответствует реальной проблемой, а с другой стороны выполнялся не доли секунд, а несколько минут. Идеология в данном случае следующий. Кроме того, мы получили ряд конструктивных предложений, которые позволили нам, что называется до этот тест «мысль». Стенд для тестирования не изменился и имел следующую конфигурацию:
Процессор: Intel Core i7–6950X (Бродуэлла-E);
Системная плата: Asus Rampage V Edition 10 (Intel X99);
О: 4×4 ГБ DDR4–2400 (Kingston HyperX Predator HX424C12PBK4/16);
Видеокарты: Nvidia Quadro 600;
Диск: SSD Seagate ST480FN0021 (480 ГБ). Для каждой задачи рассчитывается среднее время преобразования, минимальное и максимальное время, а также средний. Проблема также хорошо распараллеливается. А вот количество осуществленных реформ во время выполнения команды уже определяется производительностью процессора. При тестировании изначально был создан файл планирование wis.dat, который затем используется для реализации именно преобразования Фурье. Тестирования результаты представлены далее:

Как видим, время выполнения преобразования уменьшается обратно пропорционально ядер процессора, или, если точнее, количество запущенных потоков, но с учетом того, что ряд развитых потоков в нашем случае соответствует количеству ядер, это то же самое. Вариант 20 загрузки потоков 100% 20 ядер. Задача хорошо распараллеливается и требует много времени для решения. Зависимость результатов от частоты памяти
Теперь рассмотрим зависимость скорости выполнения тестовых задач частота работы памяти DDR4. Частота работы всех ядер процессора фиксировалась и составила 4.0 Ггц. Тестирования результаты представлены далее:

Как видно из тестирования во время выполнения результат зависит от процессора частоту, но зависимость достаточно слаба: при частоте процессора от 3 до 4 Ггц (увеличение на 33,3%), чтобы сделать тестовый проблемы снижается всего на 8.9%. Особую благодарность хотелось бы выразить Лев Серебрякову (ака Black Lion), который, фактически, разработали новый тест (от составления пакета и заканчивая разработке методики тестирования). На самом деле, именно поэтому мы производители рассмотрения методология тестирования заранее, чтобы иметь возможность его подкорректировать и исправить все ошибки. в Дальнейшем на этот раз создается план применяется в десятки тысяч и более раз, так что настало время, чтобы создать именно плана совершенно не критично — значимой именно в это время осуществления, преобразования. Создать файл в планировании использована команда:

скамья -r 1 -t 0.001 -owisdom -opatient -onthreads= […],

где […] определяют сами проблемы (виды преобразования Фурье). Подводя итоги, создать файл в планировании мы использовали команду.

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.