Я создал простую программу на базе OpenCL (на C++) и протестировал ее в системе Windows 8 с картой AMD FirePro V4900. Я использовал AMD APP SDK.Запуск программы OpenCL на аппаратном обеспечении NVIDIA
Когда я копирую свои двоичные файлы на другую машину (Windows 8 с картой NVIDIA Quadro 4000), я получаю «Точка входа процедуры clReleaseDevice не может быть расположена в динамической связанной библиотеке (exe моей программы)». На этом втором компьютере установлены новейшие драйверы NVIDIA и CUDA 5.
Любые идеи о том, что мне нужно, чтобы заставить его работать с оборудованием NVIDIA?
Я не верю, что это имеет какое-то отношение к cuda, поэтому я удаляю этот тег. –
Как минимум, я бы: 1) проверить сайт разработчика NVidia OpenCL, 2) скачать NVidia SDK и 3) убедиться, что все необходимые NVidia .dll установлены из SDK на ваш целевой компьютер: https: //developer.nvidia .com/OpenCL. Кажется, что AMD в последнее время становится неаккуратно об их поддержке оборудования NVidia :) – paulsm4
Зачем AMD поддерживать оборудование NVidia? Это ответственность NVIDIA по правильному внедрению спецификации OpenCL для собственного оборудования, и насколько я знаю, реализация NVidia OpenCL - это тонкая оболочка, которая преобразуется в код CUDA под капотом, поэтому она должна работать в основном. Я предполагаю, что вы используете реализацию OpenCL 1.1 (clReleaseDevice существует только под OpenCL 1.2), поэтому, если NVidia не поддерживает OpenCL 1.2, вы мертвы в воде. – Thomas