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 вместе с новым API Close to Metal на 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 ), с открытым исходным кодом и оптимизированным для потоковых вычислений. AMD Core Math Library (ACML) и AMD Performance Library (APL) с оптимизацией для AMD FireStream и COBRA видеотеки (далее переименованный в «Ускоренное перекодирование видео» или ПВТ) для перекодирования видео также будет включено ускорение. Другая важная часть 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.
- ^ Валич, Тео (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 ™ на графических процессорах обеспечивают почти двукратную пиковую производительность с одинарной и двойной точностью и производительность на ватт по сравнению с последним поколением» . 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
- ^ Валич, Тео (12 сентября 2007 г.). «GPGPU резко ускоряет работу антивирусного ПО» . Спрашивающий . Проверено 26 мая 2016 .
- ^ Справочное руководство AMD по промежуточному языку, август 2008 г.
Внешние ссылки
- Часто задаваемые вопросы по ATI Stream Technology, заархивированные 30 декабря 2010 г., на Wayback Machine
- ATI Stream опубликовал статьи и презентации
- SDK ATI Stream
- Статья AnandTech о распределенных вычислениях
- Справочное руководство AMD по промежуточному языку (CAL), версия 2.0, февраль '09