NVIDIA udostępnia pakiet CUDA 5 ułatwiając programowanie aplikacji dla najpopularniejszej na świecie platformy obliczeń równoległych

Firma NVIDIA udostępniła dziś pakiet programistyczny NVIDIA® CUDA® 5 w wersji finalnej. Jest to nowa wersja najpopularniejszej platformy do tworzenia oprogramowania wykorzystującego obliczenia równoległe, a także do akceleracji aplikacji naukowych i technicznych za pomocą procesorów graficznych. Pakiet można pobrać za darmo ze strony internetowej NVIDIA Developer Zone.

Platforma CUDA została do tej pory pobrana 1,5 miliona razy i obsługuje ponad 180 wiodących aplikacji – naukowych, technicznych i komercyjnych. Model programowania CUDA jest najpopularniejszym rozwiązaniem dla programistów pragnących wykorzystać akcelerację obliczeń z wykorzystaniem procesorów graficznych w tworzonych projektach.

Bazując na tym sukcesie, firma NVIDIA stworzyła piątą wersję platformy CUDA, dzięki której programowanie aplikacji przyśpieszanych przez procesory graficzne staje się szybsze i łatwiejsze niż kiedykolwiek. Nowy pakiet obsługuje funkcje dynamicznych obliczeń równoległych, biblioteki wywoływane przez procesory graficzne, technologię NVIDIA GPUDirect™ dla RDMA (zdalnego i bezpośredniego dostępu do pamięci), a także zawiera zintegrowane środowisko programistyczne (IDE) NVIDIA Nsight™ Eclipse Edition.

Deweloperzy chwalą platformę CUDA 5

Programiści, którzy zapoznali się z przedpremierową wersją platformy CUDA 5 zgłaszali, że nowy pakiet zapewnił im dramatyczny wzrost wydajności w akcelerowanych aplikacjach oraz usprawnił programowanie.

 

Firmy z przemysłu obronnego i lotniczego są świadome korzyści, jakie zapewnia akceleracja aplikacji na procesorach graficznych obsługujących CUDA – szczególnie przy przetwarzaniu obrazów, materiałów wideo i danych pobieranych z czujników takich jak radar. Według Dustina Franklina, inżyniera aplikacji pracujących pod kontrolą graficznych procesorów obliczeniowych (GPGPU) w firmie GE Intelligent Platforms działającej w Charlottesville w stanie Wirginia, „CUDA 5 jest dla nas przełomową technologią. Wiele użytkowanych przez nas aplikacji wymaga strumieniowania danych płynących z czujników bezpośrednio do procesorów graficznych z bardzo niewielkim opóźnieniem, dlatego obsługa technologii GPUDirect dla RDMA w nowych procesorach graficznych opartych na architekturze Kepler jest bardzo ważną funkcją dla naszych klientów. Zintegrowaliśmy już obsługę wielu niestandardowych czujników i jesteśmy bardzo zadowoleni z uzyskanych wyników”.

Guillaume Belz, biochemik i badacz pracujący na Uniwersytecie w Lyonie we Francji wykorzystuje funkcje dynamicznych obliczeń równoległych oraz biblioteki wywoływane przez procesor graficzny do wykonywania złożonej analizy sygnałów i przetwarzania danych. „Dzięki akceleracji na procesorach graficznych możemy uzyskać wyniki w kilka godzin. Na systemach wyposażonych jedynie w procesory centralne to same zadanie zajmowało kilka tygodni, a nawet miesięcy. Bez akceleracji z wykorzystaniem procesorów graficznych analiza po prostu nie jest możliwa”, powiedział Belz.

Doktor Weihua (Wayne) Sun z Rochester Institute of Technology w Nowym Jorku był pod wrażeniem interfejsu programistycznego NVIDIA Nsight Eclipse Edition. „Gdy dowiedziałem się, że CUDA 5 zawiera nowe środowisko IDE Nsight Eclipse Edition wiedziałem, że muszę je natychmiast pobrać. Obecność narzędzi do programowania, debugowania i optymalizacji w jednym zintegrowanym środowisku zapewnia mi ogromny wzrost wydajności pracy”.

Nowe funkcje pakietu CUDA 5

CUDA 5 zapewnia programistom możliwość pełnego wykorzystania mocy kart graficznych NVIDIA, w tym akceleratorów wykorzystujących procesory graficzne oparte na architekturze obliczeniowej NVIDIA Kepler™ – najszybszej, najwydajniejszej i najsprawniejszej architekturze, jaką kiedykolwiek stworzono. Najważniejsze funkcje nowej platformy to:

 

  • Dynamiczne przetwarzanie równoległe – akceleracja nowych algorytmów na procesorach graficznych

Wątki uruchomione na procesorach graficznych mogą dynamicznie tworzyć następne nowe wątki, umożliwiając procesorowi graficznemu dostosowanie się do danych. Funkcja dynamicznego przetwarzania równoległego minimalizuje ilość przesyłanych danych między procesorem graficznym a procesorem centralnym, znacznie upraszczając programowanie równoległe.  Opisywana funkcja umożliwia też akcelerowanie szerszego zestawu popularnych algorytmów na procesorach graficznych, stosowanych w aplikacjach wykorzystujących adaptacyjne siatki numeryczne i obliczenia dynamiki płynów.

 

  • Biblioteki wywoływane przez procesor graficzny – możliwość stworzenia zewnętrznego ekosystemu

Nowa biblioteka CUDA BLAS umożliwia programistom wykorzystywanie funkcji dynamicznego przetwarzania równoległego we własnych bibliotekach wywoływanych przez procesor graficzny. Programiści mogą tworzyć wtyczki interfejsów programistycznych (API), które mogą służyć do rozbudowy funkcjonalności jąder, umożliwiając wdrożenie wywołań zwrotnych na procesorze graficznym i dostosowanie funkcjonalności zewnętrznych bibliotek wywoływanych przez procesor graficzny. Funkcja „łączenia obiektów” zapewnia wydajny i dobrze znany proces tworzenia dużych aplikacji dla procesorów graficznych, umożliwiając kompilowanie wielu plików źródłowych platformy CUDA do kilku oddzielnych plików obiektów i łączenie ich z większymi aplikacjami oraz bibliotekami.

 

  • Obsługa technologii GPUDirect dla RDMA – minimalizuje wąskie gardła w pamięci systemu
    Technologia GPUDirect pozwala na nawiązanie bezpośredniej komunikacji pomiędzy procesorami graficznymi i innymi urządzeniami PCI-E, zapewniając bezpośredni dostęp do pamięci kartom interfejsów sieciowych i kartom graficznym. GPUDirect znacząco zmniejsza również opóźnienie działania polecenia MPISendRecv między poszczególnymi węzłami procesorów graficznych w klastrze, a w konsekwencji zwiększa ogólną wydajność aplikacji.

  • ·         NVIDIA Nsight Eclipse Edition – szybkość i łatwość generowania kodu CUDA
    NVIDIA Nsight Eclipse Edition umożliwia programowanie, debugowanie i profilowanie aplikacji wykorzystujących procesory graficzne w popularnym interfejsie IDE opartym na Eclipse, przeznaczonym dla systemów Linux i Mac OS X. Zintegrowany edytor języka CUDA i próbki kodu CUDA przyśpieszają generowanie własnego kodu aplikacji CUDA, a funkcja automatycznej refaktoryzacji kodu umożliwia łatwe przenoszenie pętli wykorzystujących procesory centralne do jądra CUDA.  Zintegrowany, zaawansowany system analizy zawiera narzędzia do automatycznego sprawdzania wydajności, a także przewodnik, za pomocą którego programista może naprawić wąskie gardła w kodzie, wykonując odpowiednie czynności krok po kroku. Funkcja wyróżniania składni pozwoli z łatwością odróżnić kod przeznaczony dla procesorów graficznych od kodu dla procesorów centralnych.

 

Nowe internetowe centrum zasobów CUDA

Aby pomóc programistom w jak najlepszym wykorzystaniu potencjału obliczeń równoległych realizowanych za pomocą technologii CUDA, firma NVIDIA stworzyła bezpłatne internetowe centrum zasobów dla programistów CUDA, dostępne pod adresem http://docs.nvidia.com. Witryna zawiera najnowsze informacje na temat platformy CUDA i powiązanego z nią modelu programistycznego, a także zapewnia dostęp do pełnej dokumentacji CUDA i technologii, w tym narzędzi, próbek kodu, bibliotek, interfejsów aplikacji i przewodników dotyczących optymalizowania i programowania aplikacji.

Program CUDA Registered Developer

Zapraszamy programistów tworzących aplikacje równoległe do rejestracji w programie CUDA Registered Developer, w ramach którego można uzyskać wcześniejszy dostęp do nowych wersji oprogramowania, narzędzi i innych zasobów. Więcej informacji można znaleźć na stronie http://www.nvidia.pl/paralleldeveloper.

Dodaj komentarz