Основные различия GPU и CPU

     Микропроцессоры основаны на одном центральном процессоре (central processing unit - CPU) и имеют производительность от нескольких ГФлопс, т.е. операций с плавающей точкой в секунду, на обычных рабочих станциях до нескольких сотен на кластерах.
Например, производительность процессора Intel Core i7-975 XE 3,33 ГГц — 70 Гфлопс, в то же время NVIDIA Tesla s1070 выдает 4 ТераФлопса. С видеокартами могут сравниться разве что игровые консоли : PlayStation3 с 2 ТераФлопсами и XBOX 360 c производительностью примерно 1 ТераФлопс. Разница очевидна.

Различия организации многопоточности и доступа к памяти:
Многопоточность

Конвейеры на обычных системах могут поддерживать лишь ограниченное число одновременных потоков. На серверах, которые имеют четыре quad-процессора, могут работать одновременно только 16 параллельных потоков (или 32 потока, если есть поддержка HyperThreading). Например, минимальная исполняемая единица на устройства которая называется блоком задач (warp) и состоит из 32 потоков или нитей(threads). Все графические процессоры NVIDIA могут поддерживать 768 активных потоков на каждый мультипроцессор, а некоторые более поздние версии до 1024 потоков на мультипроцессор. Устройства, у которых более 30 потоковых мультипроцессора( GeForce GTX280 например) могут создавать до 30000 активных потоков. Более того, устройства могут выполнять миллиарды задач благодаря многопоточности.

Потоки

Потоки в центральном процессоре обычно требуют много ресурсов. Операционная система должна обменивать потоки между собой, включать и выключать каналы обработки для обеспечения многопоточности. Переключение контекста (когда два потока меняются местами) слишком медленное и дорогостоящее в смысле производительности. Для сравнения, на GPU потоки в десятки, а то и сотни раз "легче" потоков CPU. В типичной системе сотни потоков стоят в очереди на выполнение в блоках задач по 32 потока в каждом. Если процессору GPU приходится ждать в одном из warp'ов, он просто переключается на выполнение другого потока. Так как регистры выделяются под активные потоки, не происходит обмена регистров и состояний между потоками GPU. Время жизни ресурсов, выделяемых на каждый поток, равно времени жизни самого потока.

Оперативная память.

Обе системы - хост и устройство имеют оперативную память. На хост-системе оперативная память доступна всему коду (в пределах ограничений, накладываемых операционной системой). На устройстве, RAM разделяется виртуально и физически на различные типы, каждый из которых имеет свое специальное назначение и выполняет различные задачи.