CUDA i superkomputery

Moc mikroprocesorów kart graficznych (GPU) jest tak duża, że w przyszłości mają szansę zastąpić w superkomputerach architekturę x86.

W niektórych zastosowaniach (kodowanie audio/wideo, modelowanie matematyczne, projektowanie i obliczenia inżynierskie, analizy kryptograficzne, obrazowanie medyczne) mikroprocesory kart graficznych GPU znacząco przewyższają wszystkie dostępne układy, zarówno x86, jak i RISC. Jest to technologia maksymalnie ukierunkowana na równoległe obliczenia wektorowe, te zadania, które posiadają algorytmy pasujące do takiego modelu przetwarzania danych, będą wykonywane na kilkunastu GPU wielokrotnie szybciej niż na sporym klastrze maszyn platformy x86. Rozwój oprogramowania i konstrukcja komputerów dużej mocy opartych na GPU była tematem konferencji AGPinHPC (Applications of Graphic Processors in High Performance Computing), zorganizowanej przez Instytut Informatyki Wydziału Matematyki Informatyki i Mechaniki (MiMUW) oraz Interdyscyplinarne Centrum Modelowania Matematycznego i Komputerowego (ICM) Uniwersytetu Warszawskiego.

Moc uwięziona w karcie

2,8 mld

prób łamania NTLM na sekundę osiąga program Elcomsoft Distributed Password Recovery przy zastosowaniu tylko jednej karty Tesla S1070.

Architektura CUDA (Compute Unified Device Architecture) dostarcza narzędzia dla języka programowania C, które umożliwiają przygotowanie, opracowanie i uruchomienie kodu wykonywanego na GPU firmy Nvidia. Do tego niezbędne są odpowiednie karty (np. z serii GeForce 8800 czy GTS, GTX) i oprogramowanie, które może z nich skorzystać. Przykładem gotowej realizacji są narzędzia dla pakietu MATLAB, używanego w modelowaniu matematycznym oraz przy zaawansowanych obliczeniach. Akceleracja obliczeń w MATLAB - za pomocą narzędzi Nvidia - umożliwia wielokrotne ich przyspieszenie. Narzędzia dla deweloperów CUDA zawierają rozszerzenia dla standardowego języka programowania C i zestaw bibliotek, takich jak szybka transformata Fouriera - FFT (Fast Fourier Transform) i biblioteki dla algebry liniowej BLAS (Basic Linear Algebra Subroutines).

Niektóre programy do kryptoanalizy również używają GPU Nvidia. Przykładem może być produkt firmy Elcomsoft - Distributed Password Recovery. Program ten realizuje sieć łamiącą zabezpieczenia kryptograficzne, wspierając maksymalnie cztery karty GPU na węzeł. Przy zastosowaniu tylko jednej karty Tesla S1070 program osiąga co najmniej 2,8 mld prób łamania NTLM na sekundę (dla porównania, CPU Intel Core 2 Quad 6600 zapewni zaledwie 87 milionów). "Mikroprocesory takie jak GPU są przyszłością superkomputerów. Są niedrogie i bardzo wydajne" - mówi Marek Niezgódka, dyrektor ICM.


TOP 200