Oprogramowanie

Obsługa technologii Nvidia CUDA w języku Python znacznie przyspieszy obliczenia i analizy

Paweł Maziarz | Redaktor serwisu benchmark.pl
2 komentarze Dyskutuj z nami

Nowa funkcjonalność pozwoli na przyspieszenie tworzonych aplikacji do realizacji obliczeń wielkoskalowych oraz służących analizie dużych ilości danych

Python język programowania logo

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.”

Nvidia CUDA technologia logo

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

2
Zaloguj się, aby skomentować
avatar
Dodaj
Komentowanie dostępne jest tylko dla zarejestrowanych użytkowników serwisu.
  • avatar
    Konto usunięte
    "Obsługa technologii Nvidia CUDA w języku Python", raczej obsługa jęyka Python w technologii CUDA, bo CUDA w Pythonie można było używać od dawna, a dzięki temu dopiero można pisać kernele do CUDA.
    1
  • avatar
    Pan Piksel
    w koncu
    cos urzytecznego
    teraz jeszcze czekac na openCL