Каковы основные практические различия между GPGPU и регулярным многоядерным/многопоточным программированием ЦП, с точки зрения программиста? В частности:
-
Какие типы проблем лучше подходят для регулярной многоядерности и какие типы лучше подходят для GPGPU?
-
Каковы основные отличия в модели программирования?
-
Каковы основные отличия оборудования, которые требуют каких-либо различий в модели программирования?
-
Какой из них обычно проще использовать и на сколько?
-
Является ли практическим в долгосрочной перспективе реализовать библиотеки уровня parallelism для графического процессора, такие как параллельная библиотека задач Microsoft или D std.parallelism?
-
Если GPU-вычисления настолько эффектно эффективны, почему процессоры больше не похожи на графические процессоры?