Obsługa technologii Nvidia CUDA w języku Python znacznie przyspieszy obliczenia i analizy
Nowa funkcjonalność pozwoli na przyspieszenie tworzonych aplikacji do realizacji obliczeń wielkoskalowych oraz służących analizie dużych ilości danych
Nvidia poinformowała, że język programowania Python może od teraz korzystać z funkcji akceleracji przez akceleratory graficzne oparte na modelu programowania równoległego CUDA. Rozwiązanie to zapewni przyspieszenie tworzonych aplikacji do realizacji obliczeń wielkoskalowych oraz służących analizie dużych ilości danych.
Python jest językiem łatwym do przyswojenia i prostym w użyciu. Dzięki temu stosuje go ponad 3 miliony użytkowników, co czyni go jednym z 10 najpopularniejszych języków programowania na świecie. Użytkownicy cenią go za możliwość posługiwania się kodem wysokiego poziomu, który umożliwia tworzenie algorytmów bez konieczności zagłębiania się w niuanse programistyczne. Rozbudowane biblioteki oraz zaawansowane funkcje sprawiają, że Python doskonale sprawdza się przy tworzeniu aplikacji do badań wymagających wysokiej mocy obliczeniowej, inżynieryjnych oraz służących analizie dużych ilości danych.
Obsługa architektury Nvidia CUDA została wprowadzona w NumbaPro – kompilatorze języka Python stanowiącym część nowego produktu Anaconda Accelerate firmy Continuum Analytics. Anaconda Accelerate jest dostępny w ofercie narzędzi dla języka Python firmy Anaconda, a także jest częścią środowiska Wakari, służącego do przeglądania, wizualizacji i analizowania kodu.
„Nasz kompilator umożliwi wykorzystanie akceleratorów graficznych setkom tysięcy programistów piszących w Pythonie, zapewniając im o wiele większą wydajność tworzonych aplikacji”, powiedział Travis Oliphant, współzałożyciel i dyrektor generalny firmy Continuum Analytics. „Dzięki NumbaPro programiści otrzymują to, co najlepsze z obu światów: elastyczność i wysoką produktywność języka Python oraz wysoką wydajność akceleratorów graficznych firmy Nvidia.”
Wsparcie dla rozwoju akceleracji aplikacji z wykorzystaniem procesorów graficznych jest wynikiem wprowadzenia przez firmę Nvidia kodu źródłowego kompilatora CUDA do rdzenia oraz wewnętrznych mechanizmów równoległego wykonywania instrukcji popularnego kompilatora LLVM. Środowisko programistyczne dla języka Python zostało przygotowane przez firmę Continuum Analitycs z użyciem LLVM oraz pakietów programistycznych Nvidia CUDA. Dzięki temu nowy produkt umożliwia tworzenie aplikacji akcelerowanych przez procesory graficzne programistom pracującym w tym języku.
Dzięki modułowej budowie kompilatora LLVM projektanci języków i bibliotek mogą znacznie prościej wprowadzać funkcje obsługi akceleracji poprzez procesory graficzne do języków programowania – zarówno uniwersalnych jak Python, ale również tych używanych tylko w bardzo konkretnych zastosowaniach. Dostępna w LLVM wydajna funkcjonalność kompilowania JIT (ang. just-in-time compilation) pozwala na kompilowanie w locie dynamicznego języka, jakim jest Python, dla wielu architektur jednocześnie.
„Nasza grupa naukowców dokonuje iteracji nowych rozwiązań oraz algorytmów za pomocą Pythona, a jeśli któryś z wypracowanych algorytmów jest dostatecznie skuteczny w realizacji zadania, przepisujemy go w języku C lub C++”, powiedział Vijay Pande, profesor chemii, biologii strukturalnej i nauk komputerowych na Uniwersytecie Stanforda. „Obsługa architektury CUDA w Pythonie zapewnia nam zarówno wysoką produktywność, jak i wydajność kodu.”
Źródło: Nvidia
Komentarze
2cos urzytecznego
teraz jeszcze czekac na openCL