Использование узлов с графическими ускорителями

GPGPU (general-purpose graphics processing units) - концепция использования для выполнения расчётов графического ускорителя вместо центрального процессора. В процессе эволюции видеокарт в определённый момент стало понятно, что они не только не уступают CPU в производительности, но на определённых задачах значительно превосходят за счёт существенно большего количества ядер.

Важный момент при использовании графических ускорителей заключается в том, что они реализуют принцип SIMD (single instruction, multiple data - одиночный поток команд, множественный поток данных) и для задач другого типа подходят плохо.

Существует несколько реализаций GPGPU, в частности:


В нашем центре используются сервера с графическими ускорителями NVIDIA, поэтому основные реализации GPGPU: CUDA и OpenCL от NVIDIA. Страницы на сайте, связанные с GPGPU:


На сайте NVIDIA имеется список прикладного ПО сторонних разработчиков, умеющего использовать графические ускорители этой фирмы. Если используемое вами ПО есть в этом списке, может быть полезно сравнить скорость его работы на CPU и на узлах с GPU и, возможно, начать использовать GPU.