Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



11.12.2017

Dla biznesu

BenQ MH760
07.12.2017

Pamięć masowa SDS

SUSE Enterprise Storage 5
05.12.2017

Bezpieczna platforma

Red Hat OpenStack Platform 12
30.11.2017

ITewolucja w bezpieczeństwie....

9 listopada w katowickim hotelu Novotel odbyła się kolejna odsłona konferencji z cyklu...
28.11.2017

Smukle i elegancko

HP Spectre 13 i x360
23.11.2017

Z IEEE 802.3bz

Przełączniki Netgear
21.11.2017

4K z USB-C

EIZO FlexScan EV2785
16.11.2017

Wielofunkcyjne MFP

Canon imageRUNNER ADVANCE C256i, C356i oraz C356P
14.11.2017

Fabryka Przyszłości w drodze...

W dniach 25 i 26 października we Wrocławiu odbyła się czwarta edycja konferencji...

Przetwarzanie danych przy użyciu procesorów graficznych

Data publikacji: 25-05-2017 Autor: Marcin Szeliga
Autor: Rys. K. Kanoniak

General-Purpose Computing on Graphics Processing Units (GPGPU) to dziedzina, która, choć już niemłoda, dziś, w dobie powszechnej dostępności coraz wydajniejszych akceleratorów, nabiera większego znaczenia. Przedstawiamy możliwości architektury CUDA pozwalającej na wydajne rozwiązywanie skomplikowanych zadań numerycznych w zakresie generowania, przetwarzania i rozpoznawania obrazów, a także sieci neuronowych i uczenia maszynowego.

Komputer pokładowy programu Apollo (AGC), który w 1969 roku sterował lotem na Księżyc, lądowaniem i powrotem Apollo 11 na Ziemię, był wyposażony w dwa identyczne moduły, sercem każdego z nich był 2-bajtowowy procesor będący w stanie wykonać około 50 tysięcy operacji zmiennoprzecinkowych na sekundę (50 KFLOPS).

Dzisiaj, niecałe 50 lat później, smartfon z górnej półki wyposażony jest w procesory zdolne wykonać około miliarda operacji zmiennoprzecinkowych na sekundę (1 GFLOPS), czyli jest 20 tysięcy razy szybszy od komputera AGC. Natomiast współczesne superkomputery już w 2008 roku osiągnęły wydajność przekraczającą biliard operacji zmiennoprzecinkowych na sekundę, a aktualny rekordzista, chiński Sunway TaihuLight, dysponuje mocą obliczeniową 93 PFLOPS pozwalającą mu na wykonywanie 93 biliardów operacji zmiennoprzecinkowych na sekundę, czyli jest prawie 2 biliony razy szybszy od komputera AGC.

Tak spektakularny wzrost mocy obliczeniowej zawdzięczamy nie tylko miniaturyzacji układów scalonych, ale również nowym architekturom procesorów. Celem artykułu jest przedstawienie architektury GPGPU (General-Purpose Computing on Graphics Processing Units) pozwalającej przetwarzać dane przy użyciu procesorów graficznych oraz najczęstszych zastosowań tej architektury.

> Karty graficzne i przetwarzanie potokowe

Oryginalnym zadaniem kart graficznych było przyśpieszenie (akceleracja) wyświetlania grafiki 3D. Ponieważ wyświetlane na monitorach obrazy składają się z ciągów liczb (wektorów), karty zostały wyposażone w proste moduły obliczeniowe, których możliwości sprowadzały się do wykonywania ograniczonej liczby operacji na wielu wektorach jednocześnie. Innymi słowy, karty graficzne umożliwiały, tak jak komputery typu mainframe z lat 70. XX wieku, przetwarzanie potokowe.

W 1999 roku firma NVidia wprowadziła na rynek pierwszy procesor graficzny GPU, który dodatkowo pozwalał na wykonywanie obliczeń niezwiązanych z wyświetlaniem obrazów. Od tego czasu firmy takie jak Sony, ATI, NVidia, Intel i AMD opracowują kolejne metody poprawy wydajności komputerów czy konsoli poprzez przeniesienie wykonania coraz bardziej skomplikowanych, ale powtarzalnych instrukcji (mowa tu o instrukcjach klasy SIMD – Single Instruction Multiple Data) z procesora głównego (CPU) na procesory graficzne (GPU).

Przewagą GPU nad CPU jest ich równoległa architektura pozwalająca na wykonywanie w ciągu sekundy wielokrotnie (tysiące razy) większej liczby instrukcji SIMD. Jednostka CPU składa się z kilku rdzeni zoptymalizowanych pod kątem sekwencyjnego przetwarzania szeregowego, natomiast masowo równoległa architektura jednostki GPU składa się z tysięcy prostszych, ale bardziej efektywnych rdzeni, zaprojektowanych z myślą o przetwarzaniu wielu zadań jednocześnie. Wprowadzone w 2007 roku akceleratory GPU początkowo były używane w superkomputerach i centrach danych, dziś stosuje się je również w komputerach domowych do grania, ale także w specjalistycznych urządzeniach, np. modułach odpowiadających za rozpoznawanie obrazu przez pojazdy autonomiczne.

[...]

Autor od 20 lat zawodowo pracuje z danymi i posiada tytuł Microsoft Most Valuable Professional.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2013 Presscom / Miesięcznik "IT Professional"