Графический процессор - это специализированный процессор, который обычно находится на специальной карте с собственной памятью. У него нет прерываний или виртуальной памяти.
Например, машина EC2 g2.2xlarge имеет следующую видеокарту.
00:03.0 VGA compatible controller: nVidia Corporation GK104GL [GRID K520] (rev a1)
GRID K520 принадлежит к серии карт Tesla от Nvidia и имеет поддержку GRID (которая позволяет совместно использовать GPU). Он вставляется в слот PCI на материнской плате. Каждая такая карта имеет 2 графических процессора GK104GL, два блока оперативной памяти 4 ГБ и 2x1536 ядер CUDA. Я подробно объясню ниже.
Оперативная память особенная - GDDR5. GDDR может запрашивать и получать данные в одном такте памяти. Он также имеет гораздо более широкую шину памяти, чем обычная оперативная память DDR. Следовательно, пропускная способность памяти графического процессора составляет 160 ГБ / с, что как минимум в 3 раза больше, чем доступная для ЦП E5–2670 на той же машине.
Тактовая частота процессора составляет 2,5 ГГц, а частота графического процессора - 800 МГц. Таким образом, каждое ядро CUDA как минимум на треть медленнее, чем каждый гиперпоток процессора. По сути, каждое ядро CUDA медленнее, но их намного больше, например, Agent Smith.
Графический процессор имеет производительность 2,5 терафлопс с плавающей запятой одинарной точности.
Графический процессор имеет 8 потоковых мультипроцессоров SMX, каждый из которых имеет 192 ядра CUDA. 192 ядра скомпонованы в 6 оснований по 32 ядра в каждой. Деформация - это группа ядер, выполняющих одну инструкцию. Ядро довольно простое - содержит FPU + IPU + логический блок + блок ответвления. Всего на графическом процессоре может одновременно выполняться 1536 потоков CUDA.