Firma NVIDIA poinformowała dziś, że LLVM, jeden z najpopularniejszych kompilatorów w świecie otwartego oprogramowania, został wyposażony w obsługę procesorów graficznych firmy NVIDIA. Dzięki temu, liczba naukowców, niezależnych producentów oprogramowania (ISV) i języków programowania, którzy mogą korzystać z zalet akceleracji przez procesory graficzne, została znacząco zwiększona.
LLVM jest bardzo popularną, otwartą infrastrukturą kompilatora, która cechuje się modułową konstrukcją, co ułatwia dodawanie obsługi nowych języków programowania i architektur procesorów. Obsługa architektury CUDA® umożliwia wprowadzenie masywnie równoległej akceleracji obliczeniowej na procesorach graficznych firmy NVIDIA w językach C, C++ i Fortran. W wyniku współpracy z deweloperami LLVM firma NVIDIA udostępniła zmiany w kodzie źródłowym rdzenia kompilatora oraz wewnętrznych mechanizmach równoległego wykonywania instrukcji dla architektury CUDA, umożliwiając programistom tworzenie aplikacji akcelerowanych przez procesory graficzne w większej liczbie języków programowania. Dzięki temu obliczenia na procesorach graficznych staną się bardziej dostępne i popularne niż kiedykolwiek.
Platforma LLVM obsługuje wiele języków i interfejsów programowania, w tym C/C++, Objective=C, Fortran, Ada, Haskell, Java bytecode, Python, Ruby, ActionScript, GLSL i Rust. To również infrastruktura kompilatora wykorzystywanego przez firmę NVIDIA do obsługi architektury CUDA C/C++ i stosownego przez wiele wiodących firm, takich jak Apple, AMD i Adobe.
„Firma Double Negative dostosowała swój solver dynamiki płynów do własnego języka o nazwie Jet, który został oparty na LLVM”, powiedział Dan Bailey, badacz w firmie Double Negative i współautor projektu LLVM. „Oprócz obsługi istniejących architektur, nowy otwarty kompilator LLVM firmy NVIDIA znacznie ułatwił skompilowanie wysoce zoptymalizowanego kodu pod architekturę procesorów graficznych firmy NVIDIA, która znacząco przyśpieszyła obliczenia symulacji używanych w filmowych efektach specjalnych.”
„W oprogramowaniu MathWorks użyliśmy elementów łańcucha narzędziowego LLVM do wprowadzenia obsługi procesorów graficznych w języku MATLAB”, oświadczyła Silvina Grad-Freilich, starszy menedżer ds. marketingu obliczeń równoległych w firmie MathWorks. „Wsparcie dla procesorów graficznych w otwartym kompilatorze LLVM jest przydatną cechą dla technicznej społeczności, której służymy.”
„Kod, który udostępniliśmy w LLVM jest oparty na sprawdzonych i popularnych produktach wyposażonych w architekturę CUDA, gwarantując programistom niezawodność i pełną kompatybilność z setkami milionów kart graficznych firmy NVIDIA, które obecnie pracują w ogromnej liczbie komputerów PC i serwerów”, powiedział Ian Buck, dyrektor generalny w firmie NVIDIA ds. oprogramowania do obliczeń z wykorzystaniem procesorów graficznych. „To prawdziwy kamień milowy w rozwoju obliczeń na procesorach graficznych, dzięki któremu naukowcy i programiści otrzymują ogromne możliwości wyboru języka programowania i architektury sprzętowej dla aplikacji nowej generacji.”