Najlepszy procesor graficzny dla fotogrametrii - OpenCL vs. CUDA

Pixpro Team Lukas Zmejevskis
maj 14, 2024

Tworzenie projektu fotogrametrii to ciężkie zadanie dla każdego komputera. Setki tysięcy zdjęć muszą być przetworzone przez dziesiątki algorytmów przetwarzających gigabajty danych w czasie rzeczywistym. Zużycie energii i czas – to cena, którą musisz zapłacić, aby przekształcić zdjęcia 2D w modele 3D. Spójrzmy głębiej w technologię i wyjaśnijmy najczęściej używane terminy techniczne w obliczeniach fotogrametrycznych.

GPU – Koń roboczy fotogrametrii

GPU wykonuje większość ciężkiej pracy w przetwarzaniu fotogrametrycznym. Podstawową funkcją GPU w komputerze jest wyświetlanie obrazu i grafiki na ekranie – stąd nazwa Graphics Processing Unit (Jednostka Przetwarzania Graficznego). Jednak część przetwarzania jest przydatna w wielu innych aplikacjach oprócz wyjścia wizualnego. Karta graficzna w twoim komputerze jest wyposażona w technologię, która w określonych aplikacjach działa znacznie wydajniej niż CPU. Obejmuje to obliczenia fotogrametryczne. GPU są wyjątkowo dobre w operacjach równoległych – wykonujących wiele podobnych zadań jednocześnie. GPU mogą również "przetwarzać" dużo danych dzięki ogromnej przepustowości danych umożliwionej przez szybką pamięć wideo (VRAM) na pokładzie. Z drugiej strony, CPU mogą obsługiwać mniej, ale trudniejsze zadania i zazwyczaj mają dostęp do większej, wolniejszej pamięci RAM.

Różne typy GPU

Jednostki GPU są zasadniczo takie same, zawierające te same technologiczne części i funkcje. Mimo to możemy klasyfikować karty graficzne i chipy zgodnie z praktycznymi przypadkami użycia i rozwiewać po drodze niektóre mity:

Karty graficzne do stacji roboczych – są to najbardziej zdolne produkty konsumenckie do obliczeń. Dla stacji roboczych obliczenia GPU są głównym celem. Zazwyczaj są drogie i mają dużo VRAM. Dobrze nadają się do fotogrametrii, ale nie są najbardziej opłacalne.

Karty graficzne do komputerów stacjonarnych – ten segment zawiera najwięcej różnic, od kart niskobudżetowych tylko do wyświetlania obrazu po duże i potężne karty stworzone do gier wysokiej klasy i zastosowań zawodowych. Każda karta zawierająca 8 gigabajtów VRAM lub więcej będzie prawdopodobnie odpowiednia do przetwarzania fotogrametrycznego. Im mocniejsza karta, tym lepiej. Jednak najbardziej opłacalne opcje to prawdopodobnie karty średnie do średnio wysokich.

Należy zauważyć, że większość producentów rynkuje wysokiej klasy karty graficzne dla konsumentów jako karty do gier. Nie oznacza to, że te produkty są nieodpowiednie do przetwarzania fotogrametrycznego. Wręcz przeciwnie – im lepsza karta do gier, tym lepiej nadaje się do fotogrametrii lub innych prac. Granie jest tak samo ciężkim zadaniem jak każde

Karty graficzne do laptopów są zasadniczo tymi samymi jednostkami co w komputerach stacjonarnych, ale mniej potężne ze względu na ograniczenia zużycia energii w przenośnym formacie. Im mocniejsze GPU i więcej ma VRAM, tym lepiej nadaje się do przetwarzania fotogrametrycznego. Pamiętaj, że możesz w pełni wykorzystać mocny sprzęt laptopa tylko wtedy, gdy laptop jest odpowiednio chłodzony i podłączony do prądu.

Zintegrowane GPU – te jednostki są chipami zintegrowanymi z CPU. Zintegrowane grafiki są zawsze mniej potężne niż dedykowane samodzielne karty; mimo to możesz używać dobrych do lżejszych zadań przetwarzania fotogrametrycznego. Zintegrowane GPU używają RAM jako VRAM. Jeśli planujesz używać zintegrowanej grafiki do swoich zadań przetwarzania fotogrametrycznego, pamiętaj, że nie będziesz mógł przetwarzać tysięcy zdjęć.

GPU w urządzeniach mobilnych – wszystkie urządzenia mobilne zawierają GPU, które stają się coraz mocniejsze. Oznacza to, że lokalne przetwarzanie fotogrametryczne na urządzeniach mobilnych jest już bliskie, ale jeszcze tam nie jesteśmy.

Różnice między OpenCL a CUDA

GPU wykorzystują specyficzne ramy pracy GPU. Dla zadań obliczeniowych istnieją dwa znane systemy używania GPU, o których mogłeś słyszeć – Nvidia CUDA i OpenCL.

CUDA – skrót od Compute Unified Device Architecture – to własne API NVIDIA stworzone specjalnie do użytku z GPU NVIDIA zawierającymi rdzenie CUDA.

OpenCL – Open Computing Language – jest bardziej językiem programowania stworzonym dla dowolnej jednostki przetwarzającej.

Główna różnica między tymi dwoma polega na tym, że API CUDA działa tylko z GPU Nvidia. Jeśli twoje oprogramowanie fotogrametryczne obsługuje tylko przetwarzanie oparte na CUDA, musisz być w ekosystemie GPU Nvidia. Natomiast OpenCL może pracować ze wszystkim.

Oprogramowanie fotogrametryczne Pixpro używa programowania OpenCL do najcięższych zadań. Dlatego możesz używać dowolnego GPU, które obsługuje OpenCL 1.2 lub nowsze. Obejmuje to GPU Nvidia, Intel i AMD, zarówno zintegrowane, jak i dedykowane.

Balans z innym sprzętem

Jedną rzeczą, o której nie możemy zapomnieć, jest to, że nie tylko GPU jest odpowiedzialne za ogólne wykorzystanie oprogramowania. Nie możesz mieć potężnego GPU, gdy wszystko inne jest poniżej standardu. CPU, RAM i przechowywanie są kluczowymi częściami kompetentnej lokalnej maszyny przetwarzającej. Aby przeczytać więcej o rekomendowanym sprzęcie do fotogrametrii – sprawdź naszego wcześniejszego posta na blogu tutaj:
PC For Photogrammetry – What Hardware Do You Need?

Twoje GPU do Fotogrametrii

Z podstawową wiedzą o sprzęcie komputerowym, możesz teraz podjąć świadomą decyzję o oprogramowaniu fotogrametrycznym, którego potrzebujesz do swojego PC. Odwrotnie, możesz wybrać PC dla swojego ulubionego oprogramowania. Możesz być ograniczony do wyboru GPU jednego producenta z niektórym oprogramowaniem fotogrametrycznym. Z Pixpro nie masz tego ograniczenia. Pixpro może wykorzystać dowolną kompetentną maszynę do lokalnego przetwarzania. A jeśli polegasz na naszej usłudze przetwarzania w chmurze, możesz nadal używać mniej wydajnego urządzenia.

 

O autorze
Lukas Zmejevskis

Photographer - Drone Pilot - Photogrammetrist. Years of experience in gathering data for photogrammetry projects, client support and consultations, software testing, and working with development and marketing teams. Feel free to contact me via Pixpro Discord or email (l.zmejevskis@pix-pro.com) if you have any questions about our blog.

Gotowy, aby rozpocząć swój projekt?

Możesz wybrać spośród naszych trzech różnych planów lub poprosić o niestandardowe rozwiązanie, gdzie możesz przetwarzać tyle zdjęć, ile chcesz!

Bezpłatna 14-dniowa wersja próbna. Anuluj w dowolnym momencie.

Witaj w Pixpro

Zaloguj się

I uzyskać dostęp do swojego konta.

Nie masz konta? Zarejestruj się

Wystąpiły błędy przy przesyłaniu