potęga kart graficznych
Data: 16 listopad 2007
Identyfikator: 070301
Superkomputery kojarzą nam się
z pomieszczeniem wypełnionym
dziesiątkami lub setkami szaf
zawierających łącznie tysiące
procesorów. Tymczasem
trwające od kilku lat prace
coraz szybciej prowadzą do tego,
by odpowiednik dzisiejszego
Blue Gene/L zmieścił się
w obudowie standardowego
peceta, a później
w pojedynczym układzie
scalonym, umieszczonym na
nowoczesnej karcie graficznej.
Strona 4 z 4
|
Interfejs HTX
|
Elementem najbardziej ograniczającym wydajność komputerów nie są procesory czy pamięci, ale połączenia między nimi i urządzeniami peryferyjnymi. Nie zapewniają wystarczająco szybkiego transferu danych i wprowadzają duże opóźnienia. Dlatego opracowano i zatwierdzono standard HTX, który jest rozszerzeniem szyny HyperTransport o możliwość zastosowania specjalizowanych układów scalonych wspomagających procesory główne w rozwiązywaniu określonych zadań. www.hypertransport.org
|
Zapewnić wydajną konwersję
Jeśli już jesteśmy przy warstwach programowych, warto zauważyć największy chyba z problemów towarzyszących rozwojowi GPGPU – dwoistość stosowanego kodu. Najlepiej jest to widoczne w przypadku wspomnianego wyżej mikrojądra, działającego w kodzie x86, ale zarządzającego wątkami, których kodem jest już bezpośredni kod instrukcji GPU i jego jednostek obliczeniowych. Zawarty w pakiecie CUDA kompilator umożliwia na szczęście uwolnienie programisty wątków od zawiłości języka, w jakim pracują jednostki SP, pozwalając na tworzenie aplikacji w dobrze znanym języku programowania – C. Podobnie jest w przypadku rozwiązania AMD–ATI, gdzie kompilator generuje kod wykonywalny procesorów SPU na podstawie programu w C. Obydwa rozwiązania są przemyślane (choć AMD nie udostępnia jeszcze wersji komercyjnej), ale przypomnijmy pokazane wcześniej różnice pomiędzy skutecznością kodu kompilowanego a pisanego „ręcznie”. Wcale nie jest tak dobrze. Na razie nikt nie udostępnił wiarygodnych testów (jak np. benchmarku Linpack, stosowanego powszechnie do oceny rzeczywistej wydajności maszyn pretendujących do miana superkomputerów) ani dla Nvidia Tesla, ani dla rozwiązania AMD. Trudno uwierzyć, aby żadna z tych firm nie przeprowadziła takiego testu.
Obecnie Nvidia oferuje już komercyjnie, pod nazwą Nvidia Tesla Architecture, rodzinę stacji roboczych i serwerów wyposażonych w Tesla C870 GPU Computing Processor, czyli adaptowany jako GPGPU układ G80 – GeForce 8800 GTX. W jej skład wchodzą: Tesla D870 Deskside Supercomputer z dwoma GPGPU oraz Tesla S870 GPU Computing Server, wyposażony w cztery takie procesory. Oczywiście do kompletu należą podstawowe narzędzia programistyczne pakietu CUDA. Ciekawą cechą, a zarazem niemiłym ograniczeniem rodziny Tesla jest to, że nie może ona (przynajmniej na razie) korzystać z 64-bitowej wersji Windows XP, podczas gdy bezproblemowo współpracuje z 64-bitowymi wersjami systemu Linux.
Firma AMD–ATI po zademonstrowaniu TFLOPS-owej maszyny wyposażonej w dwa procesory R600 (Radeon HD 2900 XT), nie pokazała na razie rozwiązań komercyjnych. Jednak prace wciąż trwają i firma przywiązuje do nich dużą wagę. Świadczy o tym niedawne dofinansowanie przez AMD firmy Transmeta kwotą 7,5 miliona dolarów. Jak wiemy, Transmeta ma bardzo dobrze opanowane zagadnienia konwersji kodu x86 na kod procesorów o architekturze VLIW – konwersja taka była stosowana
w stosunkowo znanych (choć nie przełożyło się to na sukces rynkowy) procesorach Transmeta Crusoe i Efficeon. 64 procesory strumieniowe (SPU) układu G80 mają przecież także architekturę VLIW, podobnie jak procesory Transmety.
Cel wydaje się oczywisty.
Wszystko na marne?
Co będzie dalej z wykorzystaniem potencjału obliczeniowego procesorów graficznych do zadań obliczeniowych? Producenci zapowiadają w niezbyt odległej przyszłości integrację CPU i GPU. Intel prowadzi obecnie projekt o kodowej nazwie Larabee, mający na celu opracowanie układu łączącego w sobie klasyczny procesor ogólnego przeznaczenia z funkcjami procesora graficznego. Zakłada on integrację zmiennoprzecinkowych jednostek obliczeniowych o charakterze typowym dla grafiki z architekturą klasycznego procesora w taki sposób, by ich zasoby obliczeniowe były dostępne zarówno w postaci GPU, jak i (a może nawet przede wszystkim) gigantycznym rozszerzeniu potencjału obliczeniowego CPU – takie „SSE do trzeciej potęgi”. Bardzo podobnych rozwiązań można się spodziewać po architekturze o nazwie kodowej Fusion, nad którą od pewnego czasu pracuje AMD.
Podsumowując, przy wykorzystaniu potencjału obliczeniowego procesorów graficznych, obecnie możliwe jest wbudowanie w komputer osobisty mocy obliczeniowej na poziomie 1–2 TFLOPS. Przypomnijmy, że jest to moc teoretyczna, na razie nie ma wiarygodnych danych co do jej wartości w praktyce. Rozwiązania, takie jak Larabee czy Fusion, raczej nie przyniosą jej wzrostu, zmniejszą jedynie koszt wytwarzania i spopularyzują możliwość wykorzystania w różnych zastosowaniach. A jeżeli potrzebujemy więcej mocy? Procesory graficzne to chyba rozwiązanie przejściowe, pokazujące potrzebę powstawania konstrukcji dostosowanych do konkretnych zadań, korzystających np. z łącza HTX.
Ocena: 



(aby ocenić, musisz się zalogować w serwisie)
Podobne artykuły: