Как программы написаны для использования графических ядер на чипах AMD / Intel?
OpenCL, но я не думаю, что Intel проделала работу для использованияграфические ядра .
Могут ли эти графические ядра действительно обращаться к памяти хоста напрямую?
Да, но есть несколько предостережений.
- Хотя пропускная способность для хост-памяти лучше, чем для PCI-e, она не так велика, как у графического процессора для графической памяти (разница в 3-4 раза).
- Для OpenCL может потребоваться собственная копия данныхв некоторых обстоятельствах.Для GPU это должно происходить (Host Mem -> Graphics Mem), для APU вы хотите убедиться, что это не так.Это в значительной степени сводится к тому, как вы распределяете свои буферы, насколько я понимаю.
В основном вы изменили условия компромисса.Раньше считалось, что начальные затраты (копирование данных в графическую память) были достаточно значительными, чтобы рабочие элементы были достаточно большими, чтобы их стоило при отправке чего-либо в графический процессор.Теперь эта стоимость снизилась (без копирования), но производительность на ядрах ниже (меньше из них и меньше пропускная способность памяти).
Это интересная разработка, которая, вероятно, делает методы GPGPU полезными в большинстве ситуаций,но без таких ОГРОМНЫХ выигрышей.Тем не менее, выигрыш все равно будет большим.
Есть ли какая-либо информация о производительности этих чипов в SP и DP FLOPS?
Мне не нравитсяповторяйте маркетинговые цифры, но AMD A8-3850 имеет заголовок 480 GFLOPS
Исходя из CUDA, можно найти сходство между программированием для графических процессоров NVIDIA и другими чипамивопрос?
Я не использовал CUDA, поэтому кто-то может захотеть ответить, но я понимаю, что CUDA и OpenCL имеют много одинаковых концепций (модели памяти, ядра и т. д.)Но CUDA приносит некоторые вещи стороне, которой нет OpenCL (C ++ - isms)
Тогда есть архитектурные различия между Nvidia и AMD, основным из которых является то, что ядра Nvidia масштабируются, а AMD -Vector, поэтому для достижения максимальной производительности на AMD вам нужно написать векторный код.