AMD FireStream - AMD FireStream

AMD FireStream byla značka AMD pro jejich produktovou řadu založenou na Radeonu zaměřenou na zpracování streamů a / nebo GPGPU v superpočítačích . Produktová řada byla původně vyvinuta společností ATI Technologies kolem Radeon X1900 XTX v roce 2006 a dříve byla označována jako ATI FireSTREAM a AMD Stream Processor . AMD FireStream lze také použít jako koprocesor s plovoucí desetinnou čárkou pro odlehčení výpočtů CPU, který je součástí iniciativy Torrenza . Řada FireStream byla ukončena od roku 2012, kdy byly pracovní zátěže GPGPU zcela složeny do řady AMD FirePro .

Přehled

Řada FireStream je řada doplňkových rozšiřujících karet vydávaných od roku 2006 do roku 2010, založených na standardních grafických kartách Radeon, ale navržených tak, aby sloužily spíše jako univerzální koprocesor než pro vykreslování a výstup 3D grafiky. Stejně jako řada FireGL / FirePro dostaly více paměti a šířku pásma paměti, ale karty FireStream nemusí nutně mít video výstupní porty. Všechny podporují 32bitovou plovoucí desetinnou čárku s jednou přesností a všechny kromě prvního vydání podporují 64bitovou dvojitou přesnost . Linka byla spojena s novými rozhraními API, aby poskytovala vyšší výkon, než jaký by mohla poskytnout stávající rozhraní API shaderů OpenGL a Direct3D , počínaje verzí Close to Metal , následovanou OpenCL a Stream Computing SDK a nakonec integrovanou do APP SDK .

Pro vysoce paralelní matematické úlohy s plovoucí desetinnou čárkou mohou karty zrychlit velké výpočty více než 10krát; Folding @ Home, nejdříve a jeden z nejviditelnějších uživatelů GPGPU, získal 20–40krát vyšší výkon procesoru. Každý pixel a vertex shader, nebo sjednocený shader v novějších modelech, může provádět libovolné výpočty s plovoucí desetinnou čárkou.

Dějiny

Po vydání grafických jader Radeon R520 a GeForce G70 s programovatelnými shadery upoutala velká propustnost s plovoucí desetinnou čárkou pozornost od akademických a komerčních skupin a experimentovala s jejich využitím pro jiné než grafické práce. Zájem vedl ATI (a Nvidia ) k vytvoření produktů GPGPU - schopných masivně paralelně vypočítat matematické vzorce obecného účelu - ke zpracování těžkých výpočtů tradičně prováděných na CPU a specializovaných matematických koprocesorech s plovoucí desetinnou čárkou . Předpokládalo se, že GPGPU mají okamžité zvýšení výkonu o faktor 10 nebo více ve srovnání se současným výpočtem vícejádrových procesorů pouze s CPU.

Vzhledem k tomu, že vývoj vysoce výkonného X1900 XFX byl téměř dokončen, společnost ATI na něm založila svůj první design Stream Processor a oznámila jej jako nadcházející ATI FireSTREAM společně s novým Close to Metal API na SIGGRAPH 2006. Samotné jádro bylo většinou beze změny, kromě pro zdvojnásobení vestavěné paměti a šířky pásma, podobně jako FireGL V7350 ; Většinu rozdílu tvoří nová podpora ovladačů a softwaru. Folding @ home začal používat X1900 pro obecný výpočet pomocí předběžného vydání verze 6.5 ovladače ATI Catalyst a hlásil 20–40násobné zlepšení GPU oproti CPU. První produkt byl vydán na konci roku 2006 a po fúzi s AMD byl přejmenován na AMD Stream Processor .

Značka se stala AMD FireStream druhou generací streamových procesorů v roce 2007 založenou na čipu RV650 s novými jednotnými shadery a podporou dvojité přesnosti. Asynchronní DMA také zlepšil výkon tím, že umožnil větší fond paměti bez pomoci procesoru. Jeden model byl propuštěn, 9170, za počáteční cenu 1999 $. Plány zahrnovaly vývoj streamového procesoru na modulu MXM do roku 2008 pro výpočetní výkon notebooku, ale nikdy nebyl vydán.

Třetí generace rychle následovala v roce 2008 s dramatickým vylepšením výkonu jádra RV770; 9250 měl téměř dvojnásobný výkon než 9170 a stal se prvním jednočipovým teraflopovým procesorem, a to i přes pokles ceny pod 1000 $. Rychlejší sourozenec, 9270, byl propuštěn krátce poté, za 1999 $.

V roce 2010 vyšla finální generace FireStreams, karty 9350 a 9370 založené na čipu Cypress obsaženém v HD 5800. Tato generace oproti předchozímu zdvojnásobila výkon, na 2 teraflopy v 9350 a 2,6 teraflops v 9370 , a byl první postavený od základu pro OpenCL . Tato generace byla také jediná s plně pasivním chlazením a aktivní chlazení nebylo k dispozici.

Generace Severního a Jižního ostrova byly přeskočeny a v roce 2012 společnost AMD oznámila, že místo karet FireStream nahradí nové řady FirePro W (pracovní stanice) a S (server) založené na nové architektuře Graphics Core Next .

Modely

Model
( Codename )
Zahájení Architektura
( Fab )
Rozhraní sběrnice Streamujte procesory Rychlost hodin Paměť Procesní výkon
( GFLOPS )
TDP ( W )
Jádro (MHz) Paměť (MHz) Velikost ( MB ) Typ Šířka sběrnice ( bit ) Šířka pásma ( GB / s) Singl Dvojnásobek
Stream procesor
(R580)
2006 R500
80 nm
240 600 1024 GDDR3 256 83.2 375 N / A 165
FireStream 9170
(RV670)
8. listopadu 2007 TeraScale 1
55 nm
PCIe 2.0 x16 320 800 800 2048 GDDR3 256 51.2 512 102.4 105
FireStream 9250
(RV770)
16. června 2008 TeraScale 1
55 nm
PCIe 2.0 x16 800 625 993 1024 GDDR3 256 63.6 1000 200 150
FireStream 9270
(RV770)
13. listopadu 2008 TeraScale 1
55 nm
PCIe 2.0 x16 800 750 850 2048 GDDR5 256 108,8 1200 240 160
FireStream 9350
(Cypress XT)
23. června 2010 TeraScale 2
40 nm
PCIe 2.1 x16 1440 700 1000 2048 GDDR5 256 128 2016 403,2 150
FireStream 9370
(Cypress XT)
23. června 2010 TeraScale 2
40 nm
PCIe 2.1 x16 1600 825 1150 4096 GDDR5 256 147,2 2640 528 225



Software

AMD FireStream byl spuštěn s širokou škálou podpory softwarové platformy. Jednou z podpůrných firem byl PeakStream (získaný společností Google v červnu 2007), který jako první poskytl otevřenou beta verzi softwaru na podporu procesorů CTM a AMD FireStream a také procesorů x86 a Cell (Cell Broadband Engine). Po spuštění softwaru PeakStream se tvrdilo, že FireStream je v typických aplikacích 20krát rychlejší než běžné CPU. RapidMind také poskytl software pro zpracování streamů, který pracoval s ATI a NVIDIA, stejně jako s procesory Cell.

Software Development Kit

Poté, co opustili své krátkodobé API Close to Metal , se AMD zaměřilo na OpenCL . Společnost AMD poprvé vydala v prosinci 2007 svou Stream Computing SDK (v1.0) pod AMD EULA , která má být spuštěna na Windows XP . Sada SDK obsahuje „Brook +“, hardwarově optimalizovanou verzi jazyka Brook od společnosti Brook vyvinutou Stanfordskou univerzitou, která je sama o sobě variantou ANSI C ( jazyk C ), je otevřená a optimalizovaná pro streamování. AMD Jádro Math Library (ACML) a AMD Performance Library (APL) s optimalizací pro AMD FireStream a COBRA videotéky (dále přejmenován na "akcelerovaný video transkódování" nebo AVT) pro videa překódování zrychlení budou také zahrnuty. Další důležitou součástí sady SDK, Compute Abstraction Layer (CAL), je vrstva vývoje softwaru zaměřená na nízkoúrovňový přístup prostřednictvím hardwarového rozhraní CTM k architektuře GPU pro software pro ladění výkonu napsaný v různých programovacích jazycích na vysoké úrovni .

V srpnu 2011 společnost AMD vydala verzi 2.5 sady ATI APP Software Development Kit, která zahrnuje podporu OpenCL 1.1 , paralelního výpočetního jazyka vyvinutého skupinou Khronos Group . Koncept výpočetních shaderů , oficiálně nazývaných DirectCompute, v API příští generace Microsoftu s názvem DirectX 11 je již součástí grafických ovladačů s podporou DirectX 11.

AMD APP SDK

Srovnávací hodnoty

Podle systému předvedeného AMD se dvěma dvoujádrovými procesory AMD Opteron a dvěma jádry GPU Radeon R600 běžícími na systému Microsoft Windows XP Professional lze 1  teraflop (TFLOP) dosáhnout výpočtem MADD (Universal Multiply-Add). Pro srovnání, procesor Intel Core 2 Quad Q9650 3,0 GHz v té době mohl dosáhnout 48 GFLOPS.

Na ukázce antivirového skenování Kaspersky SafeStream, které bylo optimalizováno pro procesory AMD stream, bylo možné v roce 2007 skenovat 21krát rychleji s akcelerací založenou na R670 než s vyhledáváním běžícím zcela na Opteronu.

Omezení

  • Rekurzivní funkce nejsou v Brook + podporovány, protože všechna volání funkcí jsou v době kompilace inline . Pomocí CAL jsou funkce (rekurzivní nebo jiné) podporovány do 32 úrovní.
  • Podporováno je pouze bilineární filtrování textur; mipmapované textury a anizotropní filtrování nejsou podporovány.
  • Funkce nemohou mít proměnný počet argumentů. Stejný problém nastává u rekurzivních funkcí.
  • Převod čísel s plovoucí desetinnou čárkou na celá čísla na GPU se provádí jinak než na procesorech x86; není plně kompatibilní s IEEE-754 .
  • Provádění „globální synchronizace“ na GPU není příliš efektivní, což nutí GPU rozdělit jádro a provádět synchronizaci na CPU. Vzhledem k proměnlivému počtu multiprocesorů a dalším faktorům nemusí být tento problém dokonalým řešením.
  • Šířka pásma sběrnice a latence mezi CPU a GPU se mohou stát překážkou .

Viz také

Reference

externí odkazy