REKLAMA

Jak używać akceleracji GPU w Pythonie? Tłumaczymy skąd pobrać narzędzia

Python jest jednym z popularniejszych języków programowania, między innymi dzięki przejrzystej składni. Programy w Pythonie mogą jednak działać szybciej dzięki zastosowaniu akceleracji GPU - CUDA bądź OpenCL. Jakie dodatkowe oprogramowanie jest potrzebne by włączyć do obliczeń układ graficzny?

Jak używać akceleracji GPU w Pythonie? Tłumaczymy skąd pobrać narzędzia
REKLAMA

Chętnych do rozpoczęcia pracy programisty wciąż nie brakuje, a i już praktykujący chętnie poszerzają swoje umiejętności. Python dzięki swojej uniwersalności jest ciekawym wyborem, a dodatkowo jego możliwości można rozszerzyć za pomocą bibliotek.

Jak sprawić by nasz program działał szybciej i/lub lepiej korzystał z zasobów sprzętowych? Można włączyć do obliczeń kartę graficzną, czyli zastosować akcelerację GPU. W wielu przypadkach (ale nie zawsze) może to przynieść wymierne korzyści i program może działać nawet kilkukrotnie szybciej.

REKLAMA

Twoje programy w Pythonie również mogą korzystać z akceleracji GPU. Przerzucenie obliczeń z CPU na GPU nie jest jednak magicznym sposobem, który w każdym przypadku pozwoli programowi działać szybciej. Na pewno sprawdzi się to w przypadku obliczeń równoległych, kiedy wiele prostych rdzeni GPU może przeprowadzać obliczenia bardziej efektywnie od kilku zaawansowanych rdzeni CPU.

Akceleracja GPU w Pythonie

Akceleracja GPU, czyli po prostu włączenie do obliczeń karty graficznej - czy to z powodu samego odciążenia procesora, czy też przyśpieszenia działania, jest stosowana dziś praktycznie wszędzie. Najbardziej popularnym przykładem są programy do montażu i renderowania wideo, takie choćby jak DaVinci Resolve, które potrafią wykorzystać moc nie tylko samych GPU, ale i specjalizowanych enkoderów H.265 czy AV1 (pod warunkiem, że karta graficzna je posiada)

 class="wp-image-4254611"
Karta graficzna wspiera CPU w renderowaniu wideo za pomocą OpenCL (Compute) i sprzętowego kodeka H.265 (Video Codec)

Jakiego oprogramowania potrzeba by skorzystać z akceleracji GPU podczas programowania w Pythonie?

REKLAMA

1. Python jaki jest, każdy widzi

Oczywiście na start będzie nam potrzebny sam Python, którego można pobrać z oficjalnej strony projektu.

REKLAMA
 class="wp-image-4254446"

Python dostępny jest na platformy Windows, Linux, macOS i inne.

2. Rozszerzenie możliwości Pythona - Anaconda (Conda)

Anaconda to menedżer pakietów Pythona (Navigator) zawierający między innymi dodatkowe aplikacje i biblioteki. Warto wspomnieć, że Anaconda jest wersją pełną (ze wszystkimi dodatkami), natomiast Conda wersją "odchudzoną" (podstawową) do której możemy ręcznie doinstalowywać dodatki wedle uznania.

REKLAMA
 class="wp-image-4254449"

Anaconda dostępna jest na platformy Windows, Linux i macOS.

REKLAMA

3a. Akceleracja GPU w Pythonie na kartach GeForce - CUDA Toolkit lub PyCUDA

Teraz pozostała nam jedynie instalacja oprogramowania, które włączy do akcji rdzenie układu graficznego. W przypadku kart GeForce można się udać na stronę NVIDIA Developer po pakiet CUDA Tooltkit, bądź skorzystać z innych rozwiązań jak PyCUDA.

 class="wp-image-4254455"

CUDA Toolkit dostępny jest tylko na systemy Windows i Linux, natomiast z PyCUDA możemy również skorzystać z wersji na macOS.

REKLAMA

3b. Akceleracja GPU w Pythonie na kartach Radeon - PyOpenCL

Jeśli jesteśmy posiadaczami karty AMD Radeon, to zamiast CUDA musimy wykorzystać OpenCL - to umożliwi nam pakiet PyOpenCL.

 class="wp-image-4254539"
REKLAMA

Po instalacji tych pakietów, możesz już śmiało sprawdzić empirycznie, czy twój program będzie działał szybciej na CPU, czy też z wykorzystaniem GPU. Efekty często mogą nas zadziwić, chociaż wydajność będzie zależeć nie tylko od samego programu, ale również od wydajności karty graficznej.

Python jest znany z dużej liczby dodatkowych bibliotek i oczywiście na akceleracji GPU się nie kończy. Można wspomnieć jeszcze choćby PyTorch, czy TensorFlow które zapewniają wsparcie dla obliczeń związanych ze sztuczną inteligencją.

REKLAMA
Marcin Jaskólski
Redaktor
REKLAMA
REKLAMA
REKLAMA
REKLAMA