Дело в том, что у этих карточек разная архитектура.
На карточках AMD стоят суперскалярные процессоры, а на Nvidia — скалярные.
Но те карточки от AMD, которые мы тестировали физически не имели на чипе локальную память, и следовательно некоторые алгоритмы, которые на этой самой локальной памяти завязаны, начинают безбожно тормозить.
Скромное мнение: оба класса карточек весьма хороши в своём.
Если для NVidia — OpenCL это действительно надстройка над CUDA, то для продуктов AMD это единственный способ программировать видеокарту для решения задач общего назначения (подразумеваем, что шейдеры заточены под графику и их мы использовать не будем, хотя и можем).
И не совсем ясно над каким решением OpenCL является надстройкой для центральных процессоров.
Вот тест для 512 частиц, с рендерингом.
rghost.ru/2114631
Суть гетерогеных вычислений — во втором.
Вызов API функций без указания устройства приведёт к первому.
На карточках AMD стоят суперскалярные процессоры, а на Nvidia — скалярные.
Но те карточки от AMD, которые мы тестировали физически не имели на чипе локальную память, и следовательно некоторые алгоритмы, которые на этой самой локальной памяти завязаны, начинают безбожно тормозить.
Скромное мнение: оба класса карточек весьма хороши в своём.
Если для NVidia — OpenCL это действительно надстройка над CUDA, то для продуктов AMD это единственный способ программировать видеокарту для решения задач общего назначения (подразумеваем, что шейдеры заточены под графику и их мы использовать не будем, хотя и можем).
И не совсем ясно над каким решением OpenCL является надстройкой для центральных процессоров.