Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Тест Unpack




Тесты для оценки пропускной способности памяти и производительности процессора

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

Stream [31] – синтетический тест, измеряющий пропускную способность оперативной памяти в Мбайт/с при циклическом многократном повторении четырех арифметических операций с плавающей точкой. С помощью теста Stream можно получить оценки пропускной способности, а также максимальное, минимальное и среднее время обмена с оперативной памятью при выполнении каждой из этих четырех операций.

Cpu-rate [52] – тест, созданный для оценки производительности процессора и оперативной памяти на задачах с плавающей точкой. В отличие от Stream, Cpu-rate распределяет обрабатываемые векторы динамически для получения информации о влиянии скорости работы оперативной памяти при циклически повторяющихся арифметических операциях. Измерения могут проводиться как для статически, так и для динамически распределяемой памяти, что обеспечивает более объективную, чем в Stream, оценку быстродействия процессора и памяти при операциях с плавающей точкой для чисел различных форматов. В качестве результата Cpu-rate выдает быстродействие процессора/памяти, измеренное количеством операций с плавающей точкой в секунду.

Тест Unpack широко используется для определения производительности компьютеров и систем с различной архитектурой. Результаты замеров производительности периодически публикуются в докладах "Performance of Various Computers Using Standard Linear Equations Software" об оценке производительности различных компьютеров при решении задач с использованием стандартного программного обеспечения для решения линейных уравнений, составляемых Джеком Донгаррой (Jack Dongarra) из университета Теннеси.

Содержательно тест Unpack представляет собой решение системы линейных уравнений с n неизвестными с плотной матрицей коэффициентов над полем действительных чисел. Для каждого n известно, сколько операций с плавающей точкой нужно выполнить, чтобы решить систему линейных уравнений методом исключения Гаусса. Это число операций с плавающей точкой оценивается . В тесте Unpack, каким бы методом и какой бы программой не решалась система линейных уравнений с n неизвестными, количество операций принимается равным количеству результатов, а именно: . Следует отметить, что эта оценка предполагает равную длительность операций сложения и умножения с плавающей точкой, что является известным допущением, т. к. умножение может требовать больше тактов, чем сложение. Более того, когда разница в длительности операций сложения и умножения была существенна, в Unpack было запрещено использовать алгоритм Шрассена, ускоряющий вычисления за счет замены части операций умножения на операции сложения.

Оценка производительности в flops – количестве операций (результатов) с плавающей точкой в секунду – получается путем деления числа операций на время выполнения теста в секундах.

Тестирование выполняется по трем методикам, определяющим время решения при различных значениях n и задаваемых ограничениях:

ü n=100; 100´100 ("Unpack Benchmark") – оригинальный вариант теста написан на языке Fortran с использованием библиотеки для решения задач линейной алгебры с плотными матрицами Level 1 BLAS (у = у + a ´ х), где y, a, x – скаляры; не допускаются никакие модификации программы теста на языке Fortran; существуют переложения на С; в тесте выполняются 2 операции на каждые 3 обращения к памяти, т.к. для основных вычислений используется подпрограмма DAXPY из библиотеки Level I1BLAS.

ü n=1000; 1000´1000 ("ТРР", best effort) - без ограничений на преобразование программы и использование ассемблера с целью достижения наивысшей производительности; может использоваться блочная обработка, например, с применением подпрограммы DGEMM из библиотеки Level 3 BLAS (С=С+А´В), где С, А, В – матрицы, что повышает локализуемость обрабатываемых данных (количество вычислительных операций, приходящихся на одно обращение в память;

ü n=Nmax ("A Look at Parallel Processing") – без ограничений на преобразование программы и использование ассемблера с целью достижения наивысшей производительности за счет выбора размера Nmax матрицы, при котором достигается наивысшая производительность Rmax.

При "A Look at Parallel Processing" выбирается (путем подбора значения л, при котором матрица размещается в оперативной памяти вычислительной системы (ВС), т. к. обращения к диску существенно снижают производительность) n=Nmax, при котором достигается наивысшая производительность Rmax. Далее определяется N1/2, при котором достигается производительность вдвое меньшая, чем Rmax. Для 500 ВС, превосходящих другие по значению Rmax, именно эти величины публикуются в списке ТОР 500, наряду с теоретической пиковой производительностью Rpeak, количеством процессоров и их тактовой частотой. Список ТОР 500 начинается сведениями о ВС с самым большим значением Rmax и содержит сведения о пятистах ВС, упорядоченных по убыванию их показателя Rmax.

Таким образом, набор тестов Linpack представляет собой совокупность программ решения задач линейной алгебры. В качестве параметров используются: порядок матрицы (например, 100´100, 1000´1000), формат значений элементов матриц (одинарная или двойная точность представления элементов матриц), способ компиляции (с оптимизацией или без оптимизации), а также возможность применения оптимизированной библиотеки стандартных функций.

При измерении производительности современных микропроцессоров программа и данные теста Linpack 100´100 ("Linpack Benchmark") могут размещаться в кэш-памяти, что позволяет оценить практически пиковую производительность в результатах в секунду.




Поделиться с друзьями:


Дата добавления: 2015-06-25; Просмотров: 719; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.