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?

17.12.2023 22.30
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.

REKLAMA

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.

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?

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.

 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.

 class="wp-image-4254449"

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

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.

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
Najnowsze
Zobacz komentarze
REKLAMA
REKLAMA
REKLAMA