GPGPU
Матеріал з Вікіпедії — вільної енциклопедії.
Зміни шаблонів/файлів цієї версії очікують на перевірку.
Стабільна версія була перевірена 21 березня 2013.
GPGPU (англ. General-purpose graphics processing units — «GPU загального призначення») - техніка використання графічного процесору на відеокарті для проведення не графічних розрахунків. На даний час OpenCL є найросповсюдженішою мовою програмування GPU.
Зміст |
Особливості програмування [ред.]
| Тип відмінності | CPU | GPU |
| Створення потоку(нитки) | Займає дуже багато часу | Займає мало часу |
| Робота у потоці(нитці) | Може виконуватися усе що завгодно | Краще виконувати легкі математичні обчислення |
| Кількість потоків(ниток) | Мало | Дуже багато(чим більше тим краще) |
Алгоритм роботи програми:
- Скопіювати дані з ПЗУ в пам'ять GPU.
- Запустити нитки обробки даних.
- Дочекатися завершення обробки даних.
- Скопіювати дані з пам'ять GPU в ПЗУ.
Нитки обробки даних представляють собою або окрему функцію(CUDA або OpenCL) або тіло цикла(C++ AMP).В середині нитки можна отримати індекс нитки, індекс може бути декількох вимірів, це індекс використовуються як індекс масиву який обробляється.
Реалізація [ред.]
- OpenCL - відкритий стандарт по розробці програм котрі можуть виконуватися на графічних процесорах та центральних процесорах Мова програмування C.
- DirectCompute - прикладний програмний інтерфейс котрий дозволяє робити обчислення на відеоадаптері, даний інтерфейс є частиною DirectX, підтримується починаючи з 10 версії DirectX.
- C++ AMP - бібліотека розроблена компанією Microsoft для обчислень за допомогою графічних процесорів, для роботи необхідний DirectX 11. Мова програмування C++
- CUDA - архітектура для програмно апаратних обчислень за допомогою графічних процесорів від компанії NVIDIA. Мова програмування C.
- AMD FireStream - архітектура для програмно апаратних обчислень за допомогою графічних процесорів від компанії AMD.
Див. також [ред.]
Посилання [ред.]
- http://www.gpgpu.ru/ Форум (рос.)
- OpenCL Офіційна сторінка стандарту (англ.)
- CUDA Домашня сторінка (англ.)
- AMD FireStream Домашня сторінка (англ.)
- C++AMP Опис на MSDN (англ.)
- http://gizmodo.com/5252545/giz-explains-gpgpu-computing-and-why-itll-melt-your-face-off (англ.)
- http://arstechnica.com/business/2011/04/ask-ars-what-is-a-cpu-thread/ (англ.)

