Nowa wersja platformy CUDA przyśpiesza oraz ułatwia badania naukowe za pomocą akceleracji przez procesory graficzne

Firma NVIDIA opublikowała dziś nową edycję platformy CUDA (wersja 4.1), przeznaczonej do realizacji obliczeń równoległych, która ułatwi rozwój oprogramowania wykorzystującego procesory graficzne do symulacji i obliczeń w takich dziedzinach nauki jak biologia, chemia, fizyka, geofizyka i innych.

W nowej wersji platformy do obliczeń równoległych NVIDIA® CUDA® wprowadzono trzy ważne udoskonalenia, które sprawiają, że programowanie procesorów graficznych staje się łatwiejsze, szybsze i bardziej przyjazne:

•    Przeprojektowane narzędzie Visual Profiler, które zostało uzupełnione o funkcję automatycznej analizy wydajności, umożliwiającą przyśpieszenie procesu akceleracji tworzonego oprogramowania.
•    Nowy kompilator oparty o popularną, otwartą infrastrukturę kompilatorów LLVM, zwiększający wydajność aplikacji nawet o 10%.
•    Setki nowych funkcji przetwarzania obrazu i sygnałów, dzięki którym rozmiar biblioteki NVIDIA Performance Primitives (NPP) zwiększył się nieomal dwukrotnie.

„Nowe narzędzie Visual Profiler jest czymś wyjątkowym,” twierdzi Joshua Anderson, główny programista projektu HOOMD-blue, który tworzy otwarte oprogramowanie do obliczeń z dziedziny dynamiki molekularnej.  „Wystarczy kilka kliknięć, a program automatycznie przeprowadzi analizę wydajności mojej aplikacji i wyróżni problematyczne segmenty kodu, jednocześnie wyświetlając łącza do artykułów zawierających informacje pomocne w ich rozwiązaniu.  Dzięki takiemu rozwiązaniu każdy deweloper prosto i szybko przyśpieszy własne aplikacje.”
„Kompilator LLVM umożliwił mi praktycznie natychmiastowe przyśpieszenie aplikacji stworzonej do analizy ryzyka, które poskutkowało zwiększeniem jej wydajności o 10%. Wystarczyło przekompilować istniejący kod”, twierdzi Gilles Civario, architekt oprogramowania w Irlandzkim Centrum Obliczeń Wysokowydajnych. „Sądzę, że po wykonaniu dodatkowych prac dostosowawczych, nowa wersja CUDA pozwoli na osiągnięcie jeszcze większej wydajności.”

Wśród nowych funkcji najnowszej wersji platformy do obliczeń równoległych CUDA – dostępnej bezpłatnie do pobrania z witryny dla developerów firmy NVIDIA pod adresem http://developer.nvidia.com/getcuda – znalazły się następujące elementy:

  • Nowe narzędzie Visual Profiler – najkrótsza droga do optymalizacji wydajności
  • Dzięki nowemu narzędziu Visual Profiler deweloperzy mogą zwiększyć wydajność swojego kodu niezależnie od doświadczenia programistycznego. Funkcje automatycznej analizy wydajności i system wspomagania ekspertów, który przedstawia programiście sugestie dotyczące możliwej optymalizacji sprawiają, że narzędzie Visual Profile może automatycznie wykryć wąskie gardła wydajności i zarekomendować czynności zaradcze, wraz z łączami do odpowiednich poradników. Dzięki temu narzędziu programista może łatwiej wykryć i usunąć niezoptymalizowane elementy kodu.

LLVM to popularna, otwarta infrastruktura kompilatora, która cechuje się modułową konstrukcją. Dzięki tej modułowości, dodawanie obsługi nowych języków programowania i architektur procesorów jest dużo łatwiejsze. Nowy kompilator języka CUDA został oparty na infrastrukturze LLVM i umożliwia zwiększenie wydajności aplikacji nawet o 10 procent na tym samym procesorze graficznym – wystarczy ponownie skompilować kod źródłowy. Producenci oprogramowania mogą skorzystać z modułowej konstrukcji kompilatora LLVM do wdrażania niestandardowych rozwiązań, dzięki którym aplikacje napisane z myślą o architekturze CUDA będą mogły pracować pod kontrolą wielu różnych procesorów graficznych firmy NVIDA, a także procesorów innych producentów.

Firma NVIDIA podwoiła rozmiar biblioteki NPP, uzupełniając ją o setki nowych funkcji przetwarzania obrazu i sygnału. Dzięki temu praktycznie każdy deweloper wykorzystujący algorytmy przetwarzania obrazu lub sygnału może natychmiast przyśpieszyć swoją aplikację za pomocą procesora graficznego, wprowadzając do niej odpowiednie wywołania bibliotek. Zaktualizowana biblioteka NPP może zostać zastosowana w szerokiej gamie algorytmów przetwarzania obrazu lub sygnału, od podstawowych zadań filtrowania po rozbudowane ciągi zadaniowe.

Dodaj komentarz