Skip to Content

ATI

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 вообще не поддерживает никаких видеокарт, смешно.

Коня и трепетную лань

opencl.jpg Мучал ATI Radeon HD5870 и NVidia GTX280 в одной машине на предмет взаимной поддержки OpenCL. Поддерживают. С оговорками, но жить можно. Написал на эту тему небольшой текст:

OpenCL, NVidia, ATI и все все все....

В процессе читал AMD-шные форумы, вычитал страшного, много думал:

OpenCL performance issues
There are known performance issues for HD4XXX series of cards on OpenCL and there is currently no plan to focus exclusively on improving performance for that family. The HD4XXX series was not designed for OpenCL whereas the HD5XXX series was. There will be performance improvements on this series because of improvements in the HD5XXX series, so it will get better, but it is not our focus.

For example, if you are using local memory, they are all currently emulated in global memory. So it is possible you are going out to main memory twice as often as you do on NVidia. This can cause a fairly large performance hit if the application is memory bound. On the HD5XXX series, local memory is mapped to hardware local and thus is many times faster than the HD4XXX series.

Короче, слушайте вашу группу валенки. Формально OpenCL на HD4xxx поддержан, а фактически нужно совершенно другой kernel писать, который локальную память не использует.

А 48xx - важный кусок рынка, их много навыпускали и формально они совсем неплохие. Теперь и в этом сорте не скажу чего придется разбираться. Хорошо хоть про 2xxx/3xxx просто рекомендовано забыть.

P.S. Сравнивая два SDK, видно что ATI в области GPGPU очень заметно отстает (disclaimer: это лично мое мнение по результатам одного дня изучения :). Речь именно о качестве SDK: документации, примерах и тому подобных вещах.

Видеокарта с двойной точностью или AMD strikes back

Одна из наиболее неприятных проблем при расчетах на видеокартах — это поддержка только 32-битных чисел с плавающей точкой (single precision).

Несмотря на то, что все ожидали прорыва от NVidia (более того, это обещали к концу года), первой о поддержке FP64 объявила AMD/ATI, анонсировав FireStream 9170.

Вкратце:

  • поддержка FP64;
  • $1999 (MSRP);
  • 2 гигабайта памяти;
  • 500 GFLOP/s на одинарной точности, сколько на двойной - не пишут;
  • 150 ватт, PCIe 2.0, x16 ;
  • асинхронная (от расчетов) передача данных из/в карту;
  • В SDK обещают наличие Brook+ с поддержкой CTM (то, что в public пока было в глубочайших альфах);
Доступность, как я понял, в первом квартале 2008.

С нетерпением ждем ответа NVidia, ибо CUDA конечно куда человечнее, чем StreamProcessing.

Syndicate content