Karty pełne mocy


GPU pomoże w walce z rakiem

Karty pełne mocy

Język programowania Brook napisano specjalnie po to, żeby wykorzystać GPU do skomplikowanych obliczeń.

Folding@Home to jeden z najbardziej znanych projektów wykorzystujących połączoną moc wielu komputerów na całym świecie do przeprowadzenia skomplikowanych obliczeń. W tym wypadku nie chodzi o poszukiwanie kosmitów (jak w SETI@home,http://www.setiathome.pl ) czy gigantycznych liczb pierwszych (GIMPS,http://www.mersenne.org ). Folding@Home (http://folding.stanford.edu ) to projekt związany z analizowaniem zjawiska zwanego fałdowaniem białek. Nieprawidłowości, które występują w trakcie tego procesu, mogą powodować rozwój wielu poważnych chorób, w tym niektórych nowotworów, choroby Alzheimera, Parkinsona czy tzw. choroby wściekłych krów (BSE). Analizowanie procesu fałdowania białek w projekcie Folding@Home może mieć kluczowe znaczenie dla opracowania nowych sposobów leczenia. W projekcie bierze udział ponad milion komputerów domowych na całym świecie, ich łączna moc obliczeniowa jest gigantyczna. Nie tylko procesory domowych pecetów wykorzystywane są do Folding@Home. Przygotowano specjalną wersję oprogramowania do konsoli Sony PlayStation 3, która bierze udział w programie, można także użyczać mocy obliczeniowej ukrytej w karcie graficznej. Twórcy projektu Folding@Home opracowali specjalną wersję oprogramowania klienckiego, wykorzystującą GPU. Niektóre typy obliczeń wykonywanych w ramach projektu można przyśpieszyć od 20 do nawet 40 razy! W czasie przygotowywania tego artykułu dostępnych było kilka wersji klienta Folding@Home. Gdy to wydanie trafi do kiosków, powinna być już nowa, uaktualniona edycja oprogramowania. Program wykorzystujący GPU przeznaczony jest do kart graficznych serii ATI X1900. Najprawdopodobniej będzie działać także z nowszymi modelami ATI (obecnie AMD). Jeśli chciałbyś wypróbować działanie tego programu na własnym komputerze, warto wybrać edycję bez interfejsu graficznego. Wersja graficzna pozwala przekonać się, jakie właściwie obliczenia wykonuje aplikacja, ale w dalszej perspektywie jest zdecydowanie mniej wydajna od tekstowej. Osoby dysponujące komputerami wyposażonymi w dwie karty graficzne mogą skorzystać z wersji Folding@Home potrafiącej użyć kilku GPU jednocześnie. Szczegółowe informacje dotyczące wymagań i konfiguracji programu wykorzystującego do obliczeń procesor graficzny można znaleźć na stroniehttp://folding.stanford.edu/FAQ-ATI.html .

Powrót do gier

Karty pełne mocy

Duża moc obliczeniowa kart graficznych przyda się w grach także w innych celach niż generowanie grafiki. Obliczenia przeprowadzane za pomocą GPU mogą być wykorzystane do symulacji ruchu obiektów.

Wykorzystanie procesora graficznego może być bardzo odległe od tworzenia grafiki w grach komputerowych, zaś nowe gry będą wykorzystywać kartę graficzną także do innych celów, niż nakładanie tekstur i uruchamianie cieniowania wierzchołków. GPU może służyć do obliczeń związanych z symulacją ruchu obiektów mających parametry, takie jak prędkość czy masa. Obiektów takich jest w grach coraz więcej: fragmenty budynków i pojazdów, postacie przeciwników, drobne elementy scenerii jak butelki, pudła, liście. Symulacje fizyczne potrzebne są również do realistycznego przedstawienia tkanin, np. zasłon czy elementów ubrania postaci, a także efektów cząsteczkowych: dymu, deszczu czy ognia, wchodzących w interakcję z innymi obiektami.

Karty pełne mocy

Polski programista, Marcin Jędrzejewski, wykorzystał GPU do modelowania akustyki pomieszczeń.

Obliczenia potrzebne do symulacji funkcjonowania obiektów występujących w grach komputerowych (popularnie, choć nieściśle nazywanej "fizyką obiektów") wciąż wykonywane są przez główny procesor zamontowany w komputerze. Symulacja fizyczna to dzisiaj nieodłączny element nowoczesnych gier, nie tylko wyścigów i symulatorów lotu, ale też gier akcji. Wystarczy przypomnieć takie tytuły, jak "Half-Life 2", "F.E.A.R." czy polskiej produkcji "Painkiller". Wartość tych gier (i wielu, wielu innych) w dużym stopniu zależy od jakości i liczby zastosowanych symulacji fizycznych, które pożerają znaczną część mocy obliczeniowej CPU. Rozsądnym rozwiązaniem jest przeniesienie niektórych obliczeń na GPU. Zwłaszcza gdy w komputerze zamontowano dwie karty graficzne.

Przeniesienie obliczeń związanych z symulacjami fizycznymi na osobne urządzenie nie jest nowym pomysłem. Pojawiły się nawet tak radykalne propozycje, jak akceleratory fizyki, np. PhsyX firmy AGEIA. ATI zaprezentowało podobne rozwiązanie, oparte jednak na trzech kartach graficznych. Dwie z nich, pracując w trybie CrossFire, zajmują się grafiką, a trzecia - symulacjami. Oczywiście taki system wymaga odpowiedniej płyty głównej, wyposażonej w trzy złącza PCI Express (model tego rodzaju zaprezentowała firma ASUS). Nie jest konieczne używanie tak wyszukanego systemu. Sterownik karty graficznej może odpowiednio balansować jej obciążenie, przeznaczając część mocy obliczeniowej na symulacje fizyczne, a część na grafikę. Oczywiście, potrzebne jest odpowiednie oprogramowanie, odpowiedzialne za symulacje fizyczne i współpracujące ze sterownikiem karty graficznej. Może się nim okazać Havok FX.

Havok FX potrafi wykorzystać procesor graficzny do wykonywania obliczeń potrzebnych do symulacji fizycznych. W tym celu zastosowany został specjalny model obiektów (tych elementów świata gry, które mogą wchodzić w kolizje z innymi), tzw. Debris Primitive. Obliczenia związane z funkcjonowaniem takich obiektów mają być wydajnie wykonywane przy wykorzystaniu nowego modelu cieniowania wierzchołków (Shader Model 3.0), także przy użyciu układów dwóch kart graficznych. Możliwości Havok FX można na razie obejrzeć tylko na filmach demonstracyjnych, prezentują się one niezwykle interesująco.

GPU po polsku

Polski programista Marcin Jędrzejewski, jeszcze jako student Polsko-Japońskiej Wyższej Szkoły Technik Komputerowych, napisał w 2004 roku program wykorzystujący moc obliczeniową kart graficznych do modelowania rozchodzenia się dźwięku w różnych pomieszczeniach. Uwzględnił metodę śledzenia promieni, z reguły używaną do generowania fotorealistycznej grafiki. Wykorzystanie procesora graficznego do żmudnych obliczeń okazało się doskonałym pomysłem, czas wykonywania działań w niektórych wypadkach skrócił się ponad 30-krotnie!