AMD FireStream - это торговая марка AMD для линейки продуктов на базе Radeon, предназначенных для потоковой обработки и / или GPGPU в суперкомпьютерах . Первоначально разработанная ATI Technologies для Radeon X1900 XTX в 2006 году, линейка продуктов ранее называлась как ATI FireSTREAM, так и AMD Stream Processor . [1] AMD FireStream также может использоваться в качестве сопроцессора с плавающей запятой для разгрузки вычислений ЦП, что является частью Torrenzaинициатива. Линия FireStream была прекращена с 2012 года, когда рабочие нагрузки GPGPU были полностью включены в линейку AMD FirePro .
Обзор [ править ]
Линия FireStream - это серия дополнительных карт расширения, выпущенных с 2006 по 2010 год, основанных на стандартных графических процессорах Radeon, но предназначенных для использования в качестве сопроцессора общего назначения , а не для рендеринга и вывода 3D-графики. Как и линейка FireGL / FirePro , им было предоставлено больше памяти и пропускной способности памяти, но карты FireStream не обязательно имеют порты вывода видео. Все они поддерживают 32-битную одинарную точность с плавающей запятой , и все, кроме первого выпуска, поддерживают 64-битную двойную точность . Линия была объединена с новыми API-интерфейсами, чтобы обеспечить более высокую производительность, чем могут обеспечить существующие API-интерфейсы шейдеров OpenGL и Direct3D , начиная сClose to Metal , затем OpenCL и Stream Computing SDK и, в конечном итоге, интегрирован в APP SDK .
Для высокопараллельных математических рабочих нагрузок с плавающей запятой карты могут ускорить большие вычисления более чем в 10 раз; Folding @ Home, самый ранний и один из самых заметных пользователей GPGPU, получил производительность процессора в 20-40 раз выше. [2] Каждый пиксельный и вершинный шейдер или унифицированный шейдер в более поздних моделях может выполнять произвольные вычисления с плавающей запятой.
История [ править ]
После выпуска графических ядер Radeon R520 и GeForce G70 с программируемыми шейдерами большая пропускная способность с плавающей запятой привлекла внимание академических и коммерческих групп, экспериментирующих с их использованием для неграфической работы. Этот интерес привел ATI (и Nvidia ) к созданию продуктов GPGPU, способных вычислять математические формулы общего назначения массово параллельным способом - для обработки тяжелых вычислений, традиционно выполняемых на процессорах и специализированных сопроцессорах математических вычислений с плавающей запятой . Предполагалось, что блоки GPGPU будут иметь немедленный прирост производительности в 10 или более раз по сравнению с современными расчетами только для многопроцессорных процессоров.
С развитием высокопроизводительных X1900 XFX почти закончена, ATI на основе свой первый дизайн поток процессора на нем, объявив его в качестве предстоящего ATI FireStream вместе с новым Рядом с Metal API на SIGGRAPH 2006. [3] Само ядро было главным без изменений, за исключением удвоения встроенной памяти и пропускной способности, аналогично FireGL V7350 ; поддержка новых драйверов и программного обеспечения составила большую часть разницы. Folding @ home начал использовать X1900 для общих вычислений, используя предварительный выпуск версии 6.5 драйвера ATI Catalyst, и сообщил о 20-40-кратном улучшении графического процессора по сравнению с процессором. [2] Первый продукт был выпущен в конце 2006 года и получил название AMD Stream Processor.после слияния с AMD. [4]
В 2007 году бренд стал AMD FireStream со вторым поколением потоковых процессоров, основанных на чипе RV650 с новыми унифицированными шейдерами и поддержкой двойной точности. [5] Асинхронный DMA также повысил производительность, позволив увеличить пул памяти без помощи ЦП. Была выпущена одна модель, 9170, по начальной цене 1999 долларов. Планы включали разработку потокового процессора на модуле MXM к 2008 году для портативных компьютеров [6], но так и не были выпущены.
Третье поколение быстро последовало в 2008 году с резким улучшением производительности ядра RV770; 9250 почти вдвое превзошел 9170 по производительности и стал первым одночиповым процессором с терафлопами , несмотря на то, что цена упала до уровня ниже 1000 долларов. [7] Вскоре после этого был выпущен более быстрый собрат, 9270, по цене 1999 долларов.
В 2010 году вышло последнее поколение FireStreams - карты 9350 и 9370, основанные на чипе Cypress, представленном в HD 5800. Это поколение снова удвоило производительность по сравнению с предыдущим: до 2 терафлопс у 9350 и 2,6 терафлопс у 9370. , [8] и был первым, созданным с нуля для OpenCL . Это поколение также было единственным с полностью пассивным охлаждением, а активное охлаждение отсутствовало.
Поколения Северных и Южных островов были пропущены, и в 2012 году AMD объявила, что новые серии FirePro W (рабочая станция) и S (сервер), основанные на новой архитектуре Graphics Core Next, заменят карты FireStream. [9]
Модели [ править ]
- FireStream 9170 включает Direct3D 10.1, OpenGL 3.3 и APP Stream
- FireStream 92x0 включает Direct3D 10.1, OpenGL 3.3 и OpenCL 1.0
- FireStream 93x0 включает Direct3D 11, OpenGL 4.3 и OpenCL 1.2 с последними обновлениями драйверов
Модель ( кодовое имя ) | Запуск | Архитектура ( Fab ) | Интерфейс шины | Потоковые процессоры | Тактовая частота | объем памяти | Вычислительная мощность [a] ( GFLOPS ) | TDP ( Вт ) | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ядро (МГц) | Память (МГц) | Размер ( МБ ) | Тип | Ширина шины ( бит ) | Пропускная способность ( ГБ / с) | Одинокий | Двойной | ||||||
Потоковый процессор (R580) | 2006 г. | R500 80 нм | 240 | 600 | 1024 | GDDR3 | 256 | 83,2 | 375 [10] | N / A | 165 | ||
FireStream 9170 (RV670) [11] [12] | 8 ноября 2007 г. | TeraScale 1 55 нм | PCIe 2.0 x16 | 320 | 800 | 800 | 2048 | GDDR3 | 256 | 51,2 | 512 | 102,4 | 105 |
FireStream 9250 (RV770) [13] [14] | 16 июня 2008 г. | TeraScale 1 55 нм | PCIe 2.0 x16 | 800 | 625 | 993 | 1024 | GDDR3 | 256 | 63,6 | 1000 | 200 | 150 |
FireStream 9270 (RV770) [15] [16] | 13 ноября 2008 г. | TeraScale 1 55 нм | PCIe 2.0 x16 | 800 | 750 | 850 | 2048 | GDDR5 | 256 | 108,8 | 1200 | 240 | 160 |
FireStream 9350 (Cypress XT) [17] | 23 июня 2010 г. | TeraScale 2 40 нм | PCIe 2.1 x16 | 1440 | 700 | 1000 | 2048 | GDDR5 | 256 | 128 | 2016 г. | 403,2 | 150 |
FireStream 9370 (Cypress XT) [18] | 23 июня 2010 г. | TeraScale 2 40 нм | PCIe 2.1 x16 | 1600 | 825 | 1150 | 4096 | GDDR5 | 256 | 147,2 | 2640 | 528 | 225 |
- ^ Точность вычисляется исходя из базовой (или ускоренной) тактовой частоты ядра на основеоперации FMA .
Программное обеспечение [ править ]
AMD FireStream был запущен с поддержкой широкого спектра программных платформ. Одной из поддерживающих компаний была PeakStream (приобретенная Google в июне 2007 года), которая первой предоставила открытую бета- версию программного обеспечения для поддержки CTM и AMD FireStream, а также процессоров x86 и Cell (Cell Broadband Engine). После запуска программного обеспечения PeakStream было заявлено, что FireStream в типичных приложениях в 20 раз быстрее, чем обычные процессоры [ необходима цитата ] . RapidMind также предоставил программное обеспечение для обработки потоковых данных, которое работало с ATI и NVIDIA, а также с процессорами Cell. [19]
Комплект для разработки программного обеспечения [ править ]
Отказавшись от недолговечного API Close to Metal , AMD сосредоточилась на OpenCL . AMD впервые выпустила свой Stream Computing SDK (v1.0) в декабре 2007 года в соответствии с лицензионным соглашением AMD EULA для работы в Windows XP . [19] SDK включает "Brook +", оптимизированную для оборудования AMD версию языка Brook, разработанного Стэнфордским университетом, который сам является вариантом ANSI C ( язык C ), с открытым исходным кодом и оптимизированным для потоковых вычислений. Core Math Library AMD (ACML) и AMD Performance Library(APL) с оптимизацией для AMD FireStream и видеотеки COBRA (далее переименованной в «Accelerated Video Transcoding» или AVT) для ускорения перекодирования видео . Другая важная часть SDK, Compute Abstraction Layer (CAL), представляет собой уровень разработки программного обеспечения, предназначенный для низкоуровневого доступа через аппаратный интерфейс CTM к архитектуре графического процессора для программного обеспечения для настройки производительности, написанного на различных языках программирования высокого уровня .
В августе 2011 года AMD выпустила версию 2.5 комплекта разработки программного обеспечения ATI APP [19], которая включает поддержку OpenCL 1.1 , языка параллельных вычислений, разработанного Khronos Group . Концепция вычислительных шейдеров , официально называемая DirectCompute, в API нового поколения Microsoft под названием DirectX 11 уже включена в графические драйверы с поддержкой DirectX 11.
AMD APP SDK [ править ]
Контрольные показатели [ править ]
Согласно продемонстрированной AMD системе [20] с двумя двухъядерными процессорами AMD Opteron и двумя ядрами графического процессора Radeon R600 под управлением Microsoft Windows XP Professional , 1 терафлоп (TFLOP) может быть получен с помощью универсального вычисления умножения-сложения (MADD). Для сравнения: процессор Intel Core 2 Quad Q9650 с тактовой частотой 3,0 ГГц в то время мог достигать 48 GFLOPS. [21]
В ходе демонстрации антивирусного сканирования Kaspersky SafeStream, оптимизированного для потоковых процессоров AMD, в 2007 году удалось выполнить сканирование в 21 раз быстрее с ускорением на основе R670, чем с поиском, выполняемым полностью на Opteron [22].
Ограничения [ править ]
- Рекурсивные функции не поддерживаются в Brook +, потому что все вызовы функций встроены во время компиляции. CAL поддерживает 32 уровня функций (рекурсивных или иных). [23]
- Поддерживается только билинейная фильтрация текстур; MIP- текстуры и анизотропная фильтрация не поддерживаются.
- Функции не могут иметь переменное количество аргументов. Та же проблема возникает для рекурсивных функций.
- Преобразование чисел с плавающей запятой в целые на графических процессорах выполняется иначе, чем на процессорах x86; он не полностью соответствует стандарту IEEE-754 .
- Выполнение «глобальной синхронизации» на GPU не очень эффективно, что заставляет GPU разделять ядро и выполнять синхронизацию на CPU. Учитывая переменное количество мультипроцессоров и другие факторы, возможно, не существует идеального решения этой проблемы.
- Пропускная способность шины и задержка между процессором и графическим процессором могут стать узким местом .
См. Также [ править ]
- Обработка потока
- Гетерогенная системная архитектура
- Аналогичное решение NVIDIA Tesla от Nvidia
- Intel Xeon Phi аналогичное решение от Intel
- Open Computing Language ( OpenCL ) - отраслевой стандарт
- Compute Unified Device Architecture ( CUDA ) - проприетарное решение только для Nvidia
- Список графических процессоров AMD
Ссылки [ править ]
- ^ Пресс-релиз AMD
- ^ a b Гасиор, Джефф (16 октября 2006 г.). «Более пристальный взгляд на Folding @ home на GPU» . Технический отчет . Проверено 26 мая 2016 .
- ^ ATI SIGGRAPH 2006 Презентация (PDF) (Отчет). ATI Technologies.
- ^ Valich, Тео (16 ноября 2006). «Представлена плата ATI FireSTREAM AMD Stream» . Спрашивающий . Проверено 26 мая 2016 .
- ^ «AMD поставляет процессор первого потока с технологией двойной точности с плавающей запятой» . AMD. 8 ноября 2007 года Архивировано из оригинала на 2017-06-19 . Проверено 26 мая 2016 .
- ^ Презентация AMD WW HPC 2007 (PDF) (Отчет). п. 37.
- ^ «Процессор AMD Stream первым преодолеет барьер в 1 терафлоп» . AMD. 16 июня 2008. Архивировано из оригинала на 2017-06-19 . Проверено 26 мая 2016 .
- ^ «Новейшие ускорители вычислений AMD FireStream (TM) GPU обеспечивают почти двукратную пиковую производительность с одинарной и двойной точностью и производительность на ватт по сравнению с последним поколением» . AMD. 23 июня 2010 года Архивировано из оригинала на 2017-06-19 . Проверено 26 мая 2016 .
- ^ Смит, Райан (14 августа 2012 г.). «Обзор AMD Firepro W9000 W8000, часть 1» . Anandtech.com . Проверено 28 июня +2016 .
- ^ «Beyond3D - ATI R580: Radeon X1900 XTX и Crossfire» . www.beyond3d.com .
- ^ «AMD поставляет процессор первого потока с технологией двойной точности с плавающей запятой» . AMD. 8 ноября 2007 . Проверено 26 мая 2016 .
- ^ «Спецификации AMD FireStream 9170» . TechPowerUp .
- ^ AMD FireStream 9250 - страница продукта, заархивированная 13 мая 2010 г., на Wayback Machine
- ^ «Спецификации AMD FireStream 9250» . TechPowerUp .
- ^ AMD FireStream 9270 - Страница продукта архивации 16 февраля 2010, в Wayback Machine
- ^ «Спецификации AMD FireStream 9270» . TechPowerUp .
- ^ «Спецификации AMD FireStream 9350» . TechPowerUp .
- ^ «Спецификации AMD FireStream 9370» . TechPowerUp .
- ^ Б с AMD APP SDK загрузки страницы архивация 2012-09-03 в Вайбаке машина и Stream Computing SDK EULA Архивированный 6 марта 2009 года, в Wayback Machine , извлекаться 29 декабря 2007
- ^ Отчет HardOCP архивации 2016-03-04 в Wayback Machine , получен 17 июля 2007
- ^ Метрики соответствия экспорта микропроцессоров Intel
- ^ Valich, Theo (12 сентября 2007). «GPGPU резко ускоряет работу антивирусного ПО» . Спрашивающий . Проверено 26 мая 2016 .
- ^ Справочное руководство AMD по промежуточному языку, август 2008 г.
Внешние ссылки [ править ]
- Часто задаваемые вопросы по ATI Stream Technology, заархивированные 30 декабря 2010 г., на Wayback Machine
- ATI Stream опубликовал статьи и презентации
- SDK ATI Stream
- Статья AnandTech о распределенных вычислениях
- AMD Intermediate Language Reference Guide (CAL) v2.0, февраль '09