Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Ian Buck z Nvidie o budoucnosti GPGPU

17.9.2009, Petr Štefek, článek
Ian Buck z Nvidie o budoucnosti GPGPU
Dnešní článek bude poněkud netradiční, jelikož se jedná o rozhovor, který se šéfem vývoje platformy CUDA provedl redaktor světoznámého magazínu Tom's Hardware. Obsahem je budoucnost i současnost GPGPU v oblasti spotřebních i vědeckých aplikací.
Kapitoly článku:
  1. Ian Buck z Nvidie o budoucnosti GPGPU
  2. Evoluce v GPGPU
  3. Aplikace pro GPGPU
Originální znění rozhovoru naleznete na Tom´s Hardware.

THG: Děkuji vám, že jste si dnes na nás udělal čas a poskytl nám rozhovor. Začněme se základními informacemi. Můžete říci našim čtenářům něco málo o sobě a co konkrétně ve společnosti Nvidia děláte?

IB: Pracuji jako softwarový ředitel pro GPU Computing zde v Nvidii. Zaměřuji se hlavně na vývoj kompletní platformy pro výpočty za pomocí GPU, což zahrnuje systémový software, vývojářské nástroje, jazyk a kompilátor, knihovny a cílové aplikace a algoritmy. S pomocí skvělého týmu jsme v Nvidii vytvořili jak software pro koncové uživatele, tak i soubor nařízení pro výpočty za pomocí GPU.


Ian Buck - Nvidia


THG: Proč nezačneme od začátku? Předpokládám, že váš zájem o GPGPU nezačal, když jste měl 5 let – jaké byly události, které vás na Princetonu nebo Stanfordu opravdu vedly k tomu, že jste se začal o GPGPU zajímat?

IB: Trošku jsem začal fušovat do GPU výpočtů už za časů na Princetonu, kde jsem experimentoval se simulacemi kapalin a tepelných jevů a ke všemu využíval SGI O2 (pozn. Redakce – základní pracovní stanice Unix od Silicon Graphics v roce 1996). Bohužel byly možnosti velmi omezené a bylo samozřejmě velmi těžké vytvořit rámec pro jednotlivé případy.


SGI O2

Seriózně jsem se začal zajímat o GPU výpočty až za mého doktorského studia (PhD) na Stanfordu. Na univerzitě jsem spolu s ostatními z výzkumné komunity přišel na to, že přirozený vývoj programovatelné grafiky byla evoluce GPU do tzv. „general purpose“ procesoru. Napsali jsme v té době jeden z prvních SIGGRAPH manuálů pro „ray tracing“ pro DirectX 9 kompatibilní GPU, abychom dokázali naši domněnku.

Bylo velmi motivující pracovat s procesorem, který měl každý v počítači běžně k dispozici a zároveň byl podstatně výkonnější než tehdejší procesory x86 v patici základní desky. To vše navodilo otázku: Co by se stalo v případě, že by PC umělo zpracovávat mnohonásobně více příkazů a mělo zároveň mnohem vyšší výpočetní výkon? Pravděpodobně by to totálně změnilo náhled a možnosti v současné počítačové vědě.


THG: Jaká byla vaše role v projektu Brook?

IB: Po práci na způsobu akcelerace „ray trace“ metody skrze GPU se moje soustředění na Stanfordu upnulo na porozumění správného programovacího modelu pro GPU výpočty. V tom samém čase již mnoho dalších ukazovalo, že GPU je velmi dobrý akcelerátor pro mnoho rozličných aplikací. Zatím ale nebyl k dispozici dobrý rámec nebo programovací model, na jehož základech by se dalo o GPU uvažovat jako o výpočetním akcelerátoru.

Tehdy jsem začal s projektem Brook s cílem definovat programovací jazyk pro GPU výpočty, který by změnil použití GPU z čistě grafického procesoru na více obecně programovatelné zařízení. Základní programovací koncept Brooku byl „stream“, který byl kolekcí datových elementů s podobnou funkcí. Brook se také nakonec stal mou doktorskou prací na Stanfordu.


THG: Vaše práce začala na pojektu Merrimac, který pod sebou skrýval „Stanford Streaming Super Computer“. Jak odlišný byl právě tento projekt od něčeho takového jako je Nvidia Tesla?

IB: Programovací model Brooku byl aplikovatelný nejen pro GPU. Na Stanfordu jsme pracovali na dvou různých implementacích tohoto programovacího modelu. Jeden byl vyvíjen pro GPU a druhý pro Merrimac, který byl výzkumnou architekturou vyvinutou právě pro účely Stanfordu. Mnoho nápadů vzniklo jako součást projektu Merrimacu, který byl asi tou hlavní věcí, proč se začalo uvažovat o tom, že by GPU mohlo nahrazovat při výpočtech klasický procesor (general purpose procesor). Také bych chtěl jako perličku říci, že Bill Dally, jenž pracoval na Merrimacu jako jeden z hlavních výzkumníků, dnes pracuje jako hlavní vědecký pracovník v Nvidii.


Nvidia Tesla


THG: Má CUDA nějaké kořeny v projektu Gelato? Jaké bylo první akademické objevování GPGPU? Jaké bylo její první komerční využití?

IB: Začal jsem pracovat na platformě CUDA, když jsem dokončil svůj výzkum na Stanfordu (Brook). Nvidia velmi podporovala můj výzkum a viděla velmi jasně, jaký má potenciál využití GPU v obecných výpočtech, kde se doposud využívá běžného CPU. Do Nvidie jsem přišel v roce 2005 a hned začal pracovat na projektu CUDA. V začátcích jsem to byl ovšem jen já a další inženýr, kdo tvořil tým tohoto projektu. Časem jsme se rozrostli a dnes už tvoříme jednu ze základních technologií pro grafická jádra Nvidia.

www.gpgpu.org nabízí náhled do historie GPGPU od roku 2002