GPGPU, fyzika
Kapitoly článků
Nyní si povězme něco málo i obecných výpočetních schopnostech nových karet. Nemá cenu nosit dříví do lesa, o tom, že ATI ve spolupráci s Havokem chystá počítání fyziky pomocí GPU a jak konkrétně to bude vypadat jsme si povídali nejednou. Stejně tak jsme si nedávno zmínili něco málo o simulacích, které lze s GPU počítat. S unifikovanou architekturou se ostatně s těmito úlohami počítá ještě více než doposud a ATI má již relativně dlouhou tradici s výpočetními kartami ATI FireStream, později přejmenovanými na AMD Stream Processor. V této oblasti čekejme nějaké obecné API obdobné CUDA u nVidie, co se týče někdejších pavlačových drbů, pak připomeňme, že se hovořilo i výpočetních kartách na bázi R600, které by měly nést možná až dokonce 4 GB paměti. To je ale otázka budoucnosti, kvůli takovýmto kartám tu dnes nejsme.
AMD hovoří o kompilátorech pro obligátní C a C++ (ať již GCC nebo Microsoftí), mezi knihovnami pak o matematické ACML, tedy AMD Core Math Library. Ta implementuje Level 1, 2 a 3 pro Basic Linear Algebra Subroutines (BLAS) s klíčovými rutinami optimalizovanými pro co nejvyšší výkon na procesorech rodiny Opteron. Vůbec implementace lineární algebry je již nyní poměrně obsáhlá, matematici jistě zaplesají (a univerzity začnou nakupovat grafické karty :-). AMD dále uvádí kompletní sadu nástrojů pro rychlou Fourierovu transformaci (Fast Fourier Transforms, FFT) s datovými typy single-, double-, single-complex a double-complex. Pro Opterony je dále optimalizována sada knihoven pro transcendentní výpočty (vektorové, skalární, pole), nechybí generátory náhodných čísel se single- i double- přesností. Pro 64bitová Windows a Linux jsou dostupné Intel FORTRAN knihovny. Veškerý ACML software pak naleznete na příslušné stránce u AMD.
Co však bude zajímat daleko větší okruh běžných zákazníků, v čele s mojí maličkostí, jsou knihovny AMD Video Transcoder. Jinými slovy knihovny pro zpracování/kompresi videa pomocí GPU, tedy něco, na co já osobně čekám již řadu let! Firma sice nic blíže nezmiňuje, ale ve chvíli, kdy dá někdo (ať již AMD nebo třetí strana) světu kompresní nástroj (nejlépe formou „GPU kodeku“, aby šel použít kupříkladu ve VirtualDubu) pro H.264, ozve se jistě ze všech kontinentů sborové „THX“ (a to nejméně 1138× :-).
Z nástrojů či implementací třetích stran pak můžeme zmínit právě Havok v souvislosti s počítáním fyziky, či před časem představenou výpočetní platformu PeakStream. Komunikace mezi GPGPU software a GPU samotným bude zajišťovat AMD CAL (Compute Abstraction Layer) ve spojení s příslušným HAL (Hardware Abstraction Layer).
Z praktických aplikací si krátce připomeňme projekt Folding@Home při Stanfordské univerzitě, pro který má ATI/AMD GPU klienta již delší dobu. Výkon by měl být oproti X1950 XTX zhruba 2,2násobný, v současné době je limitem nedostatečný výkon CPU, GPU však nyní může počítat komplexnější algoritmy.