2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Оценка производительности алгоритма и системы
Сообщение20.09.2009, 16:09 
Как наиболее достоверно оценить производительность алгоритма в флопсах(операциях с плавающей запятой в секунду) и сравнить эту производительность с пиковой производительностью данного компьютера? Как посчитать эту самую пиковую производительность системы?
Я думаю так:
Допустим есть алгоритм умножения двух плотных квадратных матриц С = С + A*B размерности N x N.
Все мы знаем что сложность этого алгоритма (кол-во арифметических операций) есть 2*N^3 (N^3 умножений и N^3 сложений). Тогда Производительность алгоритма, Флопс = 2*N^3/[кол-во секунд, потраченных на умножение матриц]. А пиковая про-ть в флопсах подсчитывается так: П = [Частота процессора]*[кол-во инструкций с плавающей запятой, выполняемых за один такт процессора]*[10^6]

Насколько верна такая оценка и какие на сегодняшний день сущетвуют достоверные тестовые пакеты, позволяющие оценить пиковую производительность?

 
 
 
 Re: Оценка производительности алгоритма и системы
Сообщение20.09.2009, 22:20 
Аватара пользователя
Цитата:
П = [Частота процессора]*[кол-во инструкций с плавающей запятой, выполняемых за один такт процессора]*[10^6]
Это [10^6] лишнее частота в Гц считаем.
Не плохо бы уточнить что есть процессор. Да и в компьютере может быть несколько процессоров.
Так что я бы просто уточнил бы для конкретного случая. 1 процессор*2 ядра *2 алу * 4 числа single в регистре* 1 арифметическая операция в инструкции

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

Частота ядер одинаковая(бывает и разная) и равна 2195 454 267 Гц
Я больше доверяю FFT с выбором максимума.
http://www.fftw.org/speed/

3ГГц*2 ядрая*2 алу* 4 числа в регистре=16*3 тест в пике показал 15.5 ГФлопс


А еще Lanpack он на супер компьютерах гоняется.

 
 
 
 Re: Оценка производительности алгоритма и системы
Сообщение21.09.2009, 14:54 
Цитата:
1 процессор*2 ядра *2 алу * 4 числа single в регистре* 1 арифметическая операция в инструкции

А почему 2 АЛУ?
Цитата:
3ГГц*2 ядрая*2 алу* 4 числа в регистре=16*3 тест в пике показал 15.5 ГФлопс

Т.е получается 48 а на тесте 15.5? Значит не очнь хор. тест.

А производительность алгоритма я правильно подсчитал?

 
 
 
 Re: Оценка производительности алгоритма и системы
Сообщение21.09.2009, 17:21 
Аватара пользователя
Цитата:
А почему 2 АЛУ?
Это я пример со своего компьютера списал. Сколько есть столько и написал.

Цитата:
Т.е получается 48 а на тесте 15.5? Значит не очнь хор. тест.
48 это идеальный случай много не учтено. Так как неизвестно точно сколько тактов занимает инструкции умножения и сложения для того xenon я не нашел. Обычно для идеального случая берут 1. Хотя может оказаться что 2.
А возможно это просто штраф за чтение из памяти.

Так как в компьютерной технике производительность растет не ленельно, а экспоненциально то разница в 3 раза не такая внушительная.

GTX280 теор 936 GFLOPS реально 250 GFLOPS

1296 МГц*240 процессоров*3 арифметические операции за такт(MADD+MUL)=933,12.
То что тут называется процессорами на самом деле ALU. Шедерных блоков если не ошибаюсь 48 и каждый состоит из 5 АЛУ. Каждое 5 алу специализированное.

Но на практике в большинстве случаев не реально задействовать две инструкции. Так что берем только
MADD это умножение со сложением
1296 МГц*240 процессоров*2=622,08

Цитата:
А производительность алгоритма я правильно подсчитал?
Правильно.
Флопсы они еще те попугаи.

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group