Page 40 - 6571
P. 40
lements). Один потік виконується на кожному елементарному
процесорі. В прикладі додавання векторів SIMD пристрій з ши-
риною в чотири PE може виконати чотири ітерації циклу за один
раз.
5.2 Використання технології GPGPU
Технологія GPGPU (General-Purpose Graphics Processing Uni
s) – техніка використання графічного процесора відеокарти для
виконання обчислень, які зазвичай виконуються центральним
процесором.
В даній технологій для організації паралельних обчислень в
ролі програмних засобів в основному використовують програм-
но-апаратну архітектуру CUDA, фреймворк OpenCL та інтерфейс
програмування програмних додатків DirectCompute.
1. CUDA (Compute Unified Device Architecture) – програмно-
апаратна архітектура, що дозволяє проводити обчислення з вико-
ристанням графічних процесорів NVIDIA, які підтримують тех-
нологію GPGPU. CUDA базується на концепції, в якій GPU (но-
сить назву device) виступає в ролі масивно-паралельного сопро-
цесора до CPU (носить назву host). Програми написані за допомо-
гою CUDA виконуються якна CPU та і на GPU. При цьому зви-
чайний послідовний код виконується на CPU, а для виконання
масивно-паралельних обчислень використовується GPU. Відпові-
дний код виконується на GPU як набір одночасно виконуваних
потоків.
2. OpenCL (Open Computing Language) – фреймворк для на-
писання комп’ютерних програм, що пов’язані із паралельними
обчисленнями на різноманітних графічних та центральних проце-
сорах. В фреймворк OpenCL входять мова програмування, яка ба-
зується на стандарті С99, та інтерфейс програмування програм-
них додатків (API). OpenCL забезпечує паралелізм на рівні ін-
струкцій і на рівні даних. OpenCL розробляється та підтримуєть-
ся некомерційним консорціумом Khronos Group.
3. DirectCompute – інтерфейс програмування програмних до-
датків (API), який входить в склад DirectX – набору API від Micr-
osoft, що призначений для роботи на IBM PC-сумісних
комп’ютерах під управлінням операційних систем сімейства
39