Oprogramowanie

nVidia CUDA i ATI Stream. Wykorzystać moc GPU

Marcin Jaskólski | Redaktor serwisu benchmark.pl
69 komentarzy Dyskutuj z nami

Tragiczny koniec kariery CPU? GeForce i Radeon zagrażają Intelowi? Nvidia CUDA i ATI Stream to technologie, które służą zaprzęgnięciu GPU do zadań, którymi do tej pory zajmował się CPU. Szybko okazało

Nvidia CUDA i ATI Stream to dwie technologie konkurencyjnych firm, które jednak służą temu samemu, czyli zaprzęgnięciu GPU do zadań, którymi do tej pory zajmował się CPU. Wielordzeniowa architektura nowoczesnych układów graficznych pozwala na wykorzystanie przetwarzania równoległego.

Jeśli chodzi o liczbę rdzeni, to przy konfrontacji z GPU, centralne jednostki nie mają żadnych szans. Powszechnie dostępne procesory mogą się pochwalić co najwyżej czterema rdzeniami, podczas gdy układ graficzny karty GeForce GTX 280 ma ich 240.

Szybko okazało się, że GPU znakomicie sprawdzają się w zastępstwie CPU i potrafią wielokrotnie przyśpieszyć takie działania jak choćby konwersję materiałów wideo (oczywiście ich zastosowanie nie ogranicza się wyłącznie do takich funkcji) i zdeklasować najszybsze procesory dostępne obecnie na rynku, czyli Core i7.

Widząc spektakularne efekty zastosowania CUDA, NVidia która ostatnio nie przepuszcza żadnej okazji do wbicia szpili w bok Intela, nie zwlekając ogłosiła rychły i tragiczny koniec kariery CPU. Przepowiednia ta była zdecydowanie przedwczesna i miała na celu pognębienie rywala, ale wizja tego jak GPU kilkakrotnie szybciej rozprawia z zadaniem nad którym biedzi się nowoczesny, kilkurdzeniowy CPU z pewnością daje do myślenia.

Potężna moc tkwiąca w kartach graficznych i wykorzystywana w 99% do generowania grafiki w grach, została na początku przetestowana… w grach, ale tym razem do generowania efektów fizycznych. Marketingowi NVidii w tej kwestii nic zarzucić nie można i odkupiony od firmy AGEIA silnik PhysX zaznacza swoją obecność w coraz większej ilości produkcji rozrywkowych.

 

Warto zobaczyć nasze wcześniejsze artykuły:
» Czy fizyka ożywi gry? Testy PhysX w Sacred 2
» PhysX w Mirror's Edge: porównanie PC, PS3 i Xbox360 

W tej kwestii firma ATI nieco pozostała w tyle i chociaż trwają już prace nad przystosowaniem legendarnego już Havoka do wykorzystania sprzętowych zasobów kart ATI, to kiedy efekty tych prac zawitają na nasze monitory, tego jeszcze dokładnie nie wiadomo. Na targach Game Developers Conference zaprezentowano już możliwości tej technologii, w tym między innymi oprogramowania Havok Cloth, która to umożliwia realistyczne przedstawienie tkanin.

Na dzień dzisiejszy wydawałoby się, że NVidia ze swoją technologią CUDA święci triumfy, a ATI przespało sprawę i Stream znajduje się w odwrocie. Faktem jest, że firma ATI/AMD nie zatroszczyła się o odpowiednią promocję swojej technologii (przynajmniej jeśli chodzi o oprogramowanie użytkowe, bowiem projekty komercyjne wykorzystujące Stream istnieją i mają się dobrze), natomiast nVidia zadbała o medialny rozgłos, co przełożyło się na wymierne korzyści w postaci oprogramowania z logo CUDA.
Zieloni rozpisali nawet konkurs programistyczny na najlepsze aplikacje wykorzystujące CUDA, w którym zresztą triumfowali także dwaj Polacy (o czym dalej).

ATI pomimo, że także od jakiegoś czasu udostępnia oprogramowanie ATI Stream dla deweloperów (SDK), to jednak nie może się pochwalić tak spektakularnymi sukcesami w wykorzystaniu tej technologii jak konkurent.  Do tego wszystkiego dochodzi jeszcze wsparcie dla standardu OpenCL. Open Computing Language to rozwiązanie, które pozwala wykorzystywać przetwarzanie równoległe, dzięki czemu jeden program może korzystać z wielu układów, wliczając w to oczywiście GPU. NVidia 20 marca bieżącego roku wypuściła sterowniki i SDK dla OpenCL. ATI dopiero nad tym pracuje.

Oczywiście by wykorzystać ATI Stream i NVidia CUDA należy posiadać zarówno odpowiednie oprogramowanie jak i sprzęt. By skorzystać z dobrodziejstw technologii NVidia CUDA należy posiadać kartę GeForce serii 8 lub nowszą, wyposażoną w co najmniej 256 MB pamięci.

W przypadku ATI Stream teoretycznie niezbędne jest posiadanie karty, bądź układu graficznego serii Radeon HD, z tym, że część z nich nie wykorzysta pełni możliwości tej technologii. Jednak, bazując na informacjach zawartych na stronie AMD, sztandarowy produkt wykorzystujący Stream, czy ATI AVIVO Video Converter do przeliczeń za pomocą ATI Stream wymaga karty serii 4600 lub 4800. Pełna lista kart obsługujących te technologie zostanie podana przy ich dokładniejszym omówieniu.

Przyjrzyjmy się zatem bliżej obydwu technologiom, a zwłaszcza oprogramowaniu które z nich korzysta, bowiem to najbardziej interesuje przeciętnych użytkowników.