Strana 2 z 5
- NVIDIA Fermi – zrozen pro GPGPU
Abychom pochopili, kam se to NVIDIA s novou architekturou vydala, musíme si říci něco o tom, co je to grafická karta, k čemu slouží, k čemu může sloužit a tak dále.
Grafické karty jako samostatné jednotky fungovat nemohou. Jako takové byly od nepaměti předně pro vykreslování obrazu na monitor, posléze na ně byly kladeny větší nároky a lidé najednou chtěli, aby to umělo nejen vykreslit věci na monitor, ale dokonce to i něco spočítat, což dalo vzniknout prvním paralelním čipům. Ty byly pořád ale příliš slabé a poměrně složité na programování, protože se aplikace museli psát jim na míru. Postupem času se začaly objevovat standardy jako DirectX9 a dnes neméně zlomové DirectX11 s DirectCompute, vedle kterých stojí ještě OpenCL. Důraz je tedy kladen nejen na vysoký herní a aplikační výkon, ale také na programovatelnou architekturu grafik.
Současné grafické karty poskytují neuvěřitelný výkon a v některých aplikacích a oblastech, kdy je jejich architektura a možnosti daleko lepší než klasických procesorů, je jejich výkon mnohonásobně vyšší. Napsat pro ně aplikace však nebylo bez existence standardů jednoduché. API DirectX je jen první vlaštovkou, posléze se objevily první GPGPU prostředí, a tím prvním nebylo CUDA společnosti NVIDIA, ale ATI STREAM. CUDA přišla až potom. Obě prostředí, ačkoliv v zásadě řeší úplně to samí, jsou ale navzájem nekompatibilní – přesto dnes obě používají jako základ jazyk C. NVIDIA nakonec došla se svým CUDA nejdál, ale CUDA se nikdy všeobecným standardem GPGPU nestala a pravděpodobně se ani nestane. Tím první standardizovaným GPGPU prostředím se nakonec stává otevřený formát OpenCL.
Nyní, když tedy máme obecný uznaný standard paralelního prostředí a jazyka, zbývá přijít s hardwarem, který poskytne pro GPGPU aplikace nejen dostatek výkonu, ale i plně programovatelnou architekturu. A to je to, co si dala NVIDIA za úkol a to, co má přinést architektura Fermi.
- Od G80, přes GT200 a ž po Fermi
Jádro NVIDIA G80 bylo přelomovým jádrem v oblasti grafik vůbec. G80 bylo prvním grafickým procesorem, který podporuje programování jazykem C díky rozšíření CUDA GPGPU. To značně zjednodušilo programování aplikací pro grafiky samotné.
G80 ale také bylo prvním čipem, který obsahoval místo klasických Vertex a Pixel shader unifikované výpočetní jednotky, nesl také speciální skalární procesor, který rozděloval úlohy registrům. G80 uměl také jednu instrukci rozdělit díky unifikovaným jednotkám do více vláken a její zpracování se tak urychlilo. Samozřejmě jádro G80 nebylo jediné grafické jádro na světě, které to umělo, architektura ATI R600 ze které vychází jak RV670 a RV770, tak i RV870, umí a uměla to samé, unifikovaná architektura byla požadavkem pro DX10 atd.
Čip G80 následoval čip GT200. Ten nebyl to nejpovedenější, co NVIDIA kdy vydala a dnes už to začíná opatrně přiznávat. GT200 je v podstatě jen zdvojeným G80 a samotná architektura zůstala stejná. GT200 šlo jen cestou větší síly a větších parametrů, největší novinkou byl výpočetní výkon tzv. Double Precision, který je určující pro mnohé výpočetní vědecké aplikace, u GT200 však nebyl příliš dobrý. GT200 mělo řadu omezení a celkově zdaleka nesplnilo to, co si od něj NVIDIA slibovala. Navíc se NVIDIA musela sklonit před RV770, které na tom bylo nejen v mnoha ohledech výkonově, ale hlavně architektonicky a z hlediska nákladů na výrobu daleko lépe.
A zde přichází Fermi. To je čip, který sice má s GT200 některé věci společné, v zásadě je to ale zcela nová architektura, která přichází s konkrétními vylepšeními pro konkrétní účely. NVIDIA už nemluví o herním výkonu atd. NVIDIA mluví o výpočetním výkonu. A právě tento čip a tuto architekturu NVIDIA právě představuje …
|