Radeon

Про HD7970

Договорился с жабой и купил новую грелку для ног.

Вкратце:

  • OpenCL 1.1, поддерживается, работает. Посмотреть что там за код не получается, Kernel Analyzer не умеет это место.
  • Драйвера: под винды есть, бета, в основной Catalyst не включены (и, похоже, войдут не раньше чем в 12.3 т.е. через два месяца т.к. даже в 12.2-preview поддержки 79xx нет). Драйвера под линукс поискал для проформы (мне не надо) - и не нашел.
  • Сцуко, быстрая. Один и тот же OpenCL-код (написанный с оглядкой на NVidia Fermi) работает в-среднем раза в полтора быстрее, чем на GTX480 (single precision). Предыдущая моя ATI-шная карта, HD5870 была в 1.5-2 раза медленнее 480-й нвидии.

    На примере MatrixMultiplication из AMD APP - быстрее в 4 раза (single).

    С double не все так радужно - нужно явно как-то иначе оптимизировать, а может просто драйвера кривые. На всем что попробовал, 7970 получается непринципиально быстрее GTX480, а на каких-то задачах и помедленнее.

  • Сцуко, холодная. Idle temp 44C, прогреть больше чем до 80 счетным кодом не удалось. Наверное, если получше пооптимизироваться, то удастся подогреть больше. Ноги, короче, не греет.
  • Сцуко, тихая. Ну то есть если вручную вентиляторы поставить на 100%, то громкая, как и любая современная видеокарта со штатным охлаждением, но вышеуказанные 80 градусов были при скорости вентилятора чуть больше 2500RPM, это меньше половины (100% - 5400) и на этой скорости она тихая.
Заодно выяснил, что за тот год, что я туда не заглядывал - AMD'шный гайд по OpenCL стал из вообще никакого - довольно интересным чтением. Сижу, читаю. Про Tahiti там пока мало и невнятно, но какой-то раздел по оптимизации уже есть.

P.S. В игры - не играю, ничего не проверял. С картой был купон на DiRT3, но годный до 31 декабря. Смешно, в продаже они появились за неделю до этого....

P.P.S. Lux Render отчего-то вторую карту не видит, как и 5870 не видел. Все прочие разумные тулзы, вроде clinfo и CPU-Z - видят. Прямо хоть в сорцы лезь....

Грелки для ног и гигафлопсы

У желающих пощупать за вымя свежую архитектуру HD79xx есть два разумных выбора:

  • Купить 7970 сейчас (принципиально дешеветь дальше уже не будет, пока не отрастут конкуренты).
  • Подождать месяцок до реального появления в продаже 7950, которая будет примерно на сотку баксов дешевле.

Чтобы оправдать первый вариант (руки то чешутся), вот такой вот расчет:

HD7970

  • 2048 cores x 925 MHz /2 = 947 GFLOP/s (теоретическая, на double).
  • Рекомендованная цена $550 (и в newegg теоретически за столько можно купить) т.е. 1.72 GFLOPS/$
  • Реальная цена в московской рознице 19000, т.е. 0.0499 GFLOPS/руб.
HD7950
  • 1792 cores * 800 MHz /2 = 716 GFLOP/s.
  • Рекомендованая цена $450 т.е. 1.59 GFLOPS/$
  • Какая будет цена в московской рознице - непонятно, но чтобы сравняться с 7970 по гигафлопсам на рупь, цена должна быть 14400, что крайне маловероятно. А 7970 может еще на тысчонку подешеветь спокойно.

Теоретически, конечно, 7950 хорошо гонится, может быть даже лучше чем 7970. Но практика для предыдуших двух серий Радеонов показывает, что многочасовой расчет на штатной частоте (без снижения) - это уже прекрасный результат и всерьез надеяться на оверклок не стоит. Игры в этом месте менее показательны, они пушат лимитсы меньше, чем любовно оптимизированный расчет.

Короче, моя жаба приведенным выше расчетом - удовлетворилась.

Об AMD 7970 и терафлопсах

Я тут, со всей этой суетой предновогодней, пропустил анонс HD7970, сегодня только прочитал.

Очень хотелось, но кажется терафлопса (на DP) на одной карте таки не будет. Т.е. формально там что-то в районе 950 Gflop/s на штатной частоте, вроде можно разогнать где-то до 1100Mhz (а там на DP аккурат один килофлопс на такт: 2048 юнитов, 512 DP-операций, уможаем на 2 т.к. MAD), но маловероятно, что реальная эффективность на DGEMM будет выше 90%, а на HPL - выше 75-80. Потому что оверхед таки есть, на DMA, да много на что (на 6990, например, DGEMM получается эффективнее 90% только если найти те правильные ядра, которые с PCIe наиболее эффективно работают, по меньшей мере на оптеронах жизнь именно так устроена).

А жаль, счастье было так близко! Терафлопс на десктопе - это хороший такой рубеж.

Вместе с тем, интересно, насколько тамошние юниты - скалярны, из имеющихся в сети описаний я так и не понял. Могут ли они исполнять разные инструкции одновременно? Есть ли какие-то ограничения (загрузка из памяти по соседним адресам, например)?

Ибо если они совсем независимы (просто такой multi-core девайс, с регистрами, локальной памятью доступной группе ядер, ну и медленной глобальной памятью) - то это совсем другой разговор.

AMD/ATI и GPGPU

Я как-то не уследил, потому что AMD/ATI-шными видеокартами начал интересоваться с выходом HD5xxx, а оказывается все очень весело. На gpgpu.ru это уже пообсуждали, ну я сюда наброшу, в более концентрированном виде.

Раньше высокоуровневым средством для разработки считалок на видеокартах у ATI был Brook+. Однако начиная с какой-то беты ATI Stream SDK 2.0 Brook из SDK исчез.

Читаем в ATI-шном форуме (это август-2009):

Yes, this SDK 2.0 beta is for CPU only. It focuses on OpenCL 1.0 for CPU. Brook+ is now available on SourceForge: http://sourceforge.net/projects/brookplus

Ну ладно, Stream SDK Beta-1 вообще не поддерживает никаких видеокарт, смешно.

Subscribe to Radeon