Оригинал материала: https://3dnews.ru/561799

Расчет производительности AMD Radeon HD4850 и HD4870 в 3DMark’06

Стр.1 - Методика прогноза

Авторы: Дмитрий Софронов, Антон Рачко

Грядущий выпуск видеокарт AMD серии HD48xx уже давно является фокусом пристального внимания общественности. Мы не могли остаться в стороне этой горячей темы, и предлагаем вам свой прогноз производительности AMD Radeon HD4870 в 3DМark’06. При этом мы постараемся не просто привести какое-то число «попугаев» 3DMark, которое видеокарта наберет в этом популярном тесте графической производительности, но и расскажем, каким именно образом мы пришли к таким выводам и почему. Итак, приступим. Предполагаемые характеристики видеокарт серии HD48xx уже давно «гуляют по сети», на них мы и будем строить свои расчеты. Разумеется, если розничные версии видеокарт будут отличаться по характеристикам, наш прогноз окажется неверным. С другой стороны, примененная нами методика расчета позволяет скорректировать результаты и оценить погрешность примененного метода. Но этот вопрос мы оставим до официального выпуска видеокарт серии HD48xx. Основная идея состоит в следующем – мы проведем несколько серий тестов видеокарт Radeon HD3850/3870 в разных режимах. Затем, на основании проведенных тестов, мы сделаем некоторые экстраполяции полученных результатов для видеокарт уже серии HD48xx, с учетом разницы в характеристиках этих серий. Ну и, наконец, мы попытаемся вычислить итоговые значения 3DMark’06 с учетом «реальных» частот видеокарт HD48xx.
Тестовый стенд
Процессор Intel Core 2 Quad X6850 3,0 ГГц
Материнская плата ASUS P5E3 на базе чипсета Intel X38
Оперативная память Corsair Dominator DDR3 2 x 2 Гб 1333 МГц 6-6-6-18 1T
Операционная система Windows XP+SP2+DirectX 9.0c
Блок питания HIPER 880 Вт
Сначала давайте посмотрим на следующий график.

График 1
На этом графике приведены результаты тестов 3DMark’06 для видеокарты Radeon HD3870 512 Мб DDR4. Частота GPU была зафиксирована на отметке 500 МГц (зачем так было сделано, будет объяснено несколько позже), а эффективная частота видеопамяти изменялась от 1700 МГц до 2300 МГц с шагом в 100 МГц. При увеличении частоты видеопамяти результаты растут, но характер роста результатов нелинейный. Мы специально привели график в таком масштабе, чтобы это можно было увидеть. Если же сделать график «как полагается», то есть с началом координат в точке (0;0), то он примет следующий вид.

График 2
Давайте теперь подумаем, каким мог бы быть этот график на всей протяженности оси Х, то есть – как результаты 3DMark’06 зависели бы от частоты видеопамяти, если бы мы могли изменять ее от нуля и до бесконечности. Призовем на помощь здравый смысл. Как будет вести себя график при приближении частоты видеопамяти к нулю? Очевидно, в этом случае частота видеопамяти (а значит и ее пропускная способность), будет «узким местом» системы, поэтому график должен быть близок к линейному. Более того, график должен стремиться к началу координат, в точку (0;0), потому что чем «слабее» видеокарта, тем меньше будет результат 3DMark. С этим мы разобрались. А что будет, если бесконечно увеличивать частоту видеопамяти? По идее, в этом случае величина пропускной способности видеопамяти не будет «узким местом» в производительности видеокарты, а значит, в какой-то момент рост результатов прекратится, и будет ограничиваться другими факторами, например – производительностью GPU. Таким образом, при стремлении частоты видеопамяти к бесконечности, на вышеприведенном графике мы получим линию или «полочку», параллельную оси Х. Теперь давайте попробуем подобрать такую функцию, которая проходила бы через измеренные нами реальные результаты, но в то же время отвечала бы озвученным «граничным условиям». Разумеется, подбор точной функции дело утомительное и долгое, поэтому мы не будем особо усердствовать, а возьмем первую подходящую функцию и попробуем ее «подогнать» к нашим результатам с помощью неких параметров. Какая функция могла бы нам подойти? Вопрос интересный и нетривиальный. Любознательные читатели могут и сами попытаться провести подобный эксперимент (вполне возможно, что результаты будут даже точнее). Но мы не будем перечислять все возможные варианты, и остановимся на функции следующего вида:
График этой функции выглядит следующим образом.

График 3
Как видите, около начала координат график изменяется почти по линейному закону, потом идет переходная область, а затем горизонтальная «полочка», которая асимптотически приближается к значению Y = 1 при стремлении X к бесконечности. То есть, нашим требованиям и граничным условиям данная функция вполне удовлетворяет. Однако одного графика для описания поведения нескольких видеокарт нам совершенно точно не хватит. Поэтому давайте введем некоторые параметры, вариацией которых мы и попытаемся получить графики, на определенном участке совпадающие с нашими реальными измеренными значениями. Например, в вышеприведенную формулу можно ввести два параметра «а» и «с» следующим образом:
В этом случае, при изменении параметра «а» у нас будет изменяться «уровень полочки» по оси Y, а параметр «с» будет отвечать за «растянутость» графика по оси Х, как это показано на графике ниже.

График 4
Теперь надо решить, каким образом подбирать параметры «а» и «с» чтобы график совпал с нашими измеренными значениями. Понятно, что можно подбирать вручную. Но это долго и утомительно, поэтому сделаем проще. Для того, чтобы найти два неизвестных параметра, нам необходима система из двух уравнений. Одно уравнение у нас уже есть. Где взять второе? Очень просто. Давайте возьмем производную от первого уравнения. В итоге получим следующую систему уравнений:
Остается один маленький вопрос – где взять значение производной «y’»? Здесь придется призвать на помощь численные методы и вычислить производную в точке х как отношение ∆y/∆x. Теперь остается из второго уравнения выразить значение параметра «с», подставить в первое уравнение, решить его, и получить значение параметра «а». К сожалению, полученное уравнение является трансцендентным, поэтому решать его пришлось численно. Для видеокарты Radeon HD3870 512 Мб DDR4 с частотой GPU=500 МГц вычисленные значения параметров получились следующими - a= 9260, с= 0,001606 Давайте посмотрим, что получится в итоге, если к линии результатов, изображенной на графике 2, добавить график функции с такими значениями параметров «а» и «с».

График 5
Как видите, построенный таким образом график довольно неплохо совпадает с реально измеренными точками. Однако не все так гладко, как кажется на первый взгляд.

График 6
Если увеличить область графика в районе измеренных точек, то будет видно, что крайняя левая точка «выпадает» из графика. Впрочем, мы и не обещали, что совпадение будет идеальным. Теперь давайте подумаем, какой физический смысл несут примененные нами коэффициенты «а» и «с»? Насчет первого особых проблем не возникает – если при увеличении частоты видеопамяти результаты все больше ограничиваются производительностью GPU и стремятся к пределу, выраженному параметром «а», то можно условно назвать этот параметр «чистой силой GPU». Но возникает вполне закономерный вопрос – а имеет ли вообще «право на жизнь» примененный нами подход к такой экстраполяции результатов? Мы можем это проверить. Давайте возьмем другую видеокарту, например – Radeon HD3850 DDR3, зададим частоту GPU равную 500 МГц, и проведем такую же серию тестов на том же стенде, что и с видеокартой Radeon HD3870 DDR4. Что мы должны получить в этом случае? Если наше предположение, что параметр «а» выражает «чистую силу GPU» верно, то, несмотря на отличающийся тип памяти на видеокарте Radeon HD3850, для такого же GPU RV670, работающего на той же частоте 500 МГц, мы должны получить такое же значение параметра «а», как и в случае с Radeon HD3870 DDR4. Графики реальных результатов для HD3870 DDR4 и HD3850 DDR3 показаны ниже:

График 7
Аналогично предыдущему случаю, вычислим значения параметров для видеокарты HD3850 DDR3 с частотой GPU, равной 500 МГц. В итоге – параметр «а» равен 9237, параметр «с» равен 0,0020389. Получаем следующий график:

График 8
Как видите, значения параметров «а» для видеокарт HD3850 и HD3870 очень близки. А в числовом выражении разница между 9237 и 9260 составляет всего-то 0,25%, что является очень неплохой точностью для наших экстраполированных значений. Пойдем дальше. Проведем следующую серию испытаний в точно тех же условиях, но теперь частоту GPU на каждой из видеокарт HD3850 и HD3870 установим в значение 650 МГц.

График 9
Аналогично проводим вычисления и получаем следующие коэффициенты. Для видеокарты HD3850 «а»= 11456, «с»= 0,001619948. Для видеокарты HD3870 получаем «а»= 11836, «с»= 0,00111406. Построим линии, соответствующие этим параметрам и отобразим их на общем графике.

График 10
Что касается рассчитанных коэффициентов «а», то разница в результатах видеокарт HD3850 и HD3870 на частоте 650 МГц несколько подросла, и составила уже 3,3%. Впрочем, для таких экстраполяций погрешность получается вполне приемлемая. Если честно, мы ожидали, что разница в результатах будет значительно больше. На этот график можно было бы еще добавить экстраполяции результатов для этих же видеокарт с частотой GPU, равной 800 МГц. Рассчитывается все точно так же. Но видеокарта HD3850 на такой частоте GPU не заработала, поэтому просто приведем результаты для видеокарты HD3870 - коэффициент «а» равен 14069, коэффициент «с» - 0,000878637. Сведем итоговые результаты в таблицу:
  HD3850   HD3870  
частота GPU, МГц a c a c
500 9237 0,002039 9260 0,001606
650 11456 0,00162 11836 0,001114
800     14069 0,000879
О «физическом» смысле параметра «а» мы уже говорили. «Чистая сила GPU» показывает, какую максимальную теоретическую скорость можно было бы достичь в данном тесте при фиксированной частоте GPU, если увеличить частоту (а значит и пропускную способность) видеопамяти до бесконечности. С параметром «с» немного сложнее. Чем отличаются видеокарты HD3850 и HD3870, если он поставлены в совершенно одинаковые условия и работают на одной частоте? Ответ - только типом используемой видеопамяти, DDR3 и DDR4 соответственно. Или же, говоря по-другому – таймингами памяти. Что интересно, поскольку в показателе экспоненты нашей функции в роли Х фигурирует частота видеопамяти, для получения безразмерного показателя параметр «с» как раз и должен иметь размерность «времени». Но мы знаем, что тайминги памяти в видеокартах задаются как правило «жестко» и не зависят от частоты GPU. А судя по нашей таблице, даже небольшое изменение частоты GPU приводит к существенному изменению параметра «с». Возникает нестыковка. Исходя из здравого смысла, можно предположить, что параметр «с» отвечает не за тайминги видеопамяти, а отражает нечто другое.

Стр.2 - Получение результатов

Переходим к следующему этапу «натирания хрустального шара предсказаний». Давайте построим график, на котором отложим полученные результаты для величины «чистой силы GPU» (параметр «а») в зависимости от частоты GPU (мы воспользовались результатами видеокарты HD3870).

График 11
Вообще-то, мы предполагали, что точки на данном графике будут лежать на одной прямой, проходящей через начало координат. Это было бы логично с точки зрения здравого смысла, который подсказывает, что зависимость «чистой силы GPU» должна бы линейно зависеть от частоты. Однако это не так. По всей видимости, закон изменения «чистой силы GPU» от его частоты несколько сложнее. Давайте рассуждать логически. Когда частота GPU очень мала, он является «узким местом» в производительности видеокарты, и при нулевой частоте GPU мы никаких результатов просто не увидим. Значит, линия «чистой силы GPU» должна проходит через начало координат. При увеличении частоты GPU рост результатов должен быть линеен, пока GPU остается самым «узким местом» в видеокарте. Но что будет, если увеличивать частоту очень сильно? Как изменится рост результатов? По всей видимости, в какой-то момент начнут играть роль другие ограничивающие факторы. Поскольку при вычислении «чистой силы GPU» мы предполагаем, что ПСП видеопамяти нас не ограничивает, придется поискать нечто другое. Если пристально посмотреть на внутреннее устройство GPU, то мы увидим, что там есть несколько блоков, выполняющих разнородные задачи. Например – блок универсальных шейдеров и блок обработки текстур. В рассматриваемом нами случае они работают на одной частоте, но одинаково ли они эффективны? Допустим, «текстурники» работают с полной загрузкой (поскольку ПСП нас не ограничивает), но может ли случиться так, что мощности или количества шейдерных блоков будет не хватать и они станут узким местом системы? Конечно может. Обратное тоже верно. Значит должен быть какой-то предел. Как ни странно, но для «чистой силы GPU» мы получили точно те же «граничные условия», что и в самом начале нашего повествования. Давайте применим те же методы и построим линию, описывающую зависимость «чистой силы GPU» от его частоты.

График 12
Зачем нам все это нужно? Теперь мы готовы перейти к самому главному и интересному – собственно прогнозу производительности видеокарт HD48xx в тесте 3DMark’06. Как известно, характеристики видеокарт примерно следующие:
Рассчитаем параметры для видеокарты Radeon HD4850 с памятью DDR3. Как нам узнать «чистую силу GPU» этой видеокарты? Посмотрим в таблицу. Число «текстурников» возросло в два раза, а число шейдерных блоков – в 1,5 раза. Но частота шейдерных блоков увеличена по сравнению с остальными блоками GPU примерно в 1,3 раза. Давайте перемножим эти цифры: 1,5*1,3=1,95. То есть, если взять видеокарты HD3850 и HD4850, у которых частота GPU задана одинаковой, вычислительная мощь GPU на HD4850 окажется примерно в 2 раза больше, чем у HD3850. Поскольку «текстурников» у HD4850 также в два раза больше, можно сказать, что ни один из этих моментов не будет ограничивать общую мощь GPU, а суммарно эта мощь должна превышать мощь GPU HD3850 примерно в два раза. Допустим, частота ядра HD4850 равна 650 МГц. Если умножить вычисленное нами число для результата HD3850 на этой частоте на два, то получим для HD4850 значение «чистой силы GPU», равное 22912. Звучит фантастически. Но не будем забывать, что это величина теоретическая и в реальности производительность будет меньше. В общем-то, мы уже почти готовы рассчитать «реальную» производительность HD4850 в тесте 3DMark’06, однако для построения экстраполяции нам необходимо знать еще один параметр – «с». Посмотрите на таблицу 1. Из нее следует, что по мере роста частоты GPU параметр «с» уменьшается. Давайте возьмем величину, обратную параметру «с» и отложим ее на соответствующем графике, где по оси Х будут значения «чистой силы GPU»:

График 13
Обратные к параметру «с» значения для видеокарты HD3870 отлично укладываются на прямую линию. Предположим, что для значений видеокарты HD3850 это тоже будет выполняться. Тогда расширим этот график и попробуем найти значение параметра «с» при величине «чистой силы GPU», равной 22912.

График 14
После обратного преобразования получаем для параметра «с» значение равное 0,000796813. Теперь, когда все параметры для видеокарты HD4850 DDR3 известны, можно построить примерный график результатов в 3DMark’06 в зависимости от частоты видеопамяти, как мы и делали в самом начале нашего исследования, подобно графикам для видеокарт HD3xxx.

График 15
Итак, получается, что по нашему прогнозу видеокарта Radeon HD4850 с видеопамятью стандарта DDR3 и работающая на частотах 650/850/2286 МГц (для GPU, шейдерного блока и видеопамяти, соответственно), в тесте 3DMark’06 покажет результат примерно 19100-19200 марков. Получается, это будет примерно на 83% выше результата видеокарты HD3850 DDR3 и работающей на частотах 650/1660 МГц. Однако сможем ли мы увидеть такие высокие результаты на нашем стенде, использующем процессор Intel Core 2 Quad QX6850 с частотой 3,0 ГГц? Вряд ли. Если посмотреть на базу данных результатов теста 3DMark’06, то увидим, что максимальные значения для такого процессора на частоте 3,0 ГГц ограничиваются величиной примерно 17000-18000 марков, независимо от типа используемой видеокарты. Получается, что и результаты видеокарты HD4850 DDR3 должны находиться где-то возле этого уровня, впрочем при разгоне CPU могут быть и несколько выше. Теперь давайте попробуем оценить производительность видеокарты Radeon HD4850 с памятью типа DDR5. Поскольку от варианта с памятью DDR3 она отличается только типом и частотой используемой видеопамяти, то величина «чистой силы GPU» для нее останется прежней, а вот параметр «с» будет другим. К сожалению, мы сейчас не видим способа рассчитать этот параметр в случае видеокарт с видеопамятью типа DDR5. Остается лишь сделать прикидки, основываясь на общей тенденции. Давайте еще раз посмотрим на графики изменения величины, обратной параметру «с».

График 16
Зеленая и синяя линии соответствуют значениям, полученным для видеокарт HD3850 DDR3 и HD3870 DDR4. То есть, переход к более быстрому типу памяти приводит к увеличению как абсолютного значения «1/с», так и угла наклона линии, которую они образуют для каждой видеокарты. На этот график мы добавили две линии, которые, как мы предполагаем, могли бы соответствовать видеокартам с видеопамятью DDR5. Крайние точки справа соответствуют рассчитанной ранее «чистой силе GPU» HD4850. Данный момент является самым слабым звеном в цепочке рассуждений, поскольку положение линий выбираются в большой степени произвольно. Мы привели два варианта, вы можете нарисовать свои линии и получить любое число других вариантов. Для варианта 1 значение параметра «с» у нас получается равным 0,000392. Во втором случае параметр «с» равен 0,000322581. Однако, несмотря на произвольность такого выбора, все оказывается не так плохо. Давайте попробуем построить графики для двух указанных вариантов так, как мы сделали на графике 13, и сравнить с результатами видеокарты HD3850 DDR3. Получаем следующую картину.

График 17
Поскольку мы рассматриваем видеокарту HD4850 с видеопамятью DDR5, эффективная частота которой предположительно составит 3456 МГц, на этой частоте видеопамяти мы и сделали «срез». В итоге получили следующие результаты – 17000 очков 3DMark’06 для первого варианта расчета, и 15400 очков 3DMark’06 для второго варианта. Как видите, несмотря на разницу в параметрах «с» около 20%, конечные результаты отличаются всего на 10% друг от друга. Но что интересно еще больше - видеокарта HD4850 с видеопамятью типа DDR3 выглядит гораздо предпочтительнее своей «сестры» с памятью DDR5. Чем-то это все напоминает ситуацию с видеокартами HD2600XT с памятью DDR3 и DDR4, которые показывали очень близкие результаты, хотя частоты видеопамяти номинально отличались довольно сильно. Честно говоря, с трудом верится, что компания AMD решит выпустить видеокарту HD4850 DDR5, которая будет уступать в производительности младшей по рангу «сестре» с памятью типа DDR3. Более логичным выглядит вариант, при котором HD4850 DDR5 несколько опережала бы HD4850 DDR3 при прочих равных условиях, чтобы оправдать усилия маркетологов по продвижению нового типа памяти, да и стоить такая карта должна несколько дороже. Причины расхождений могут быть разные. Вполне возможно, что мы ошиблись в расчетах, или весь подход в целом оказался неверным. Может быть, использованные нами предварительные данные о рабочих частотах новых видеокарт не отражают действительное положение дел. Или же все как раз наоборот. Неслучайно же ходят слухи, что видеокарту HD4850 с памятью DDR3 собирались выпустить несколько позже, чем варианты с памятью типа DDR5. А пока мы продолжим наши упражнения в предвидении, и попытаемся «просчитать» видеокарту HD4870 DDR5. Из графика 10 следует, что на частоте 850 МГц «чистая сила GPU» видеокарт на базе RV670 будет равна примерно 15000 «попугаям» (в наших условиях тестирования). Давайте умножим это число на два, и получим 30000 «попугаев» для «чистой силы GPU» RV770 на частоте 850 МГц. С параметром «с» опять возникают сложности, если на графике 14 продолжить линию первого варианта для HD4850 DDR5 вправо, то для «чистой силы GPU» равной 30000 очков 3DMark’06, получим значение параметра «с» 0,000232558. Если построить линию, используя эти параметры, то получим следующую картину:

График 18
Эффективная частота видеопамяти у Radeon HD4870 несколько выше, чем у HD4850 DDR5, и равна 3870 МГц. Как видите, по нашим расчетам выходит, что в тесте 3DMark’06 HD4870 не имеет существенных преимуществ над HD4850 DDR5, причем обе видеокарты с памятью DDR5 проигрывают HD4850 DDR3. Впрочем, в реальности такое вряд ли случится.
Если же сравнить наши прогнозы с результатами реальных видеокарт 9800GTX и HD3870, то по сравнению с предшественником на базе RV670 новинки показывают примерно 50% прирост производительности, и примерно на 35% обгоняют 9800GTX. Ну а что касается точности наших прогнозов – время покажет, благо ждать осталось совсем недолго.
- Обсудить материал в конференции




Оригинал материала: https://3dnews.ru/561799