У меня есть работающая программа обработки изображений для 3D-сканера, построенная на многопоточной программе Qt, написанной в Visual Studio с использованием проприетарной библиотеки обработки изображений. По мере развития проекта программное обеспечение становилось все более и более тяжелым с точки зрения вычислений. Я выполнил ряд программных и аппаратных оптимизаций для повышения его производительности и пришел к выводу, что мне действительно нужно передать несколько повторяющиеся алгоритмические операции (не связанных с графикой) на GPU.
Я экспериментировал с использованием библиотек CUDA только для того, чтобы понять, что они не интегрируются с Qt чисто или, по крайней мере, на моем уровне понимания. Похоже, что в какой-то момент в прошлом OpenCL поддерживался Qt, но, похоже, не является текущим направлением развития Qt.
Я прочитал значительный объем материала по этому вопросу, и мне любопытно, какие параметры ТЕКУЩИЙ (встроенные в Qt или легко интегрируемые) предназначены для такого рода вещей?
В настоящее время я использую Visual Studio 2015
Вы можете попробовать опубликовать некоторые из ошибок интеграции, с которыми вы столкнулись с OpenCL, в другом сообщении. См. Также: docs.microsoft.com/en-us/cpp/…
У меня не было ошибок интеграции с OpenCL. Я просто читал старые статьи о QT-оболочках OpenCL. Проблема, с которой я столкнулся с CUDA, была связана с вызовом ядер из кода, который находится внутри объекта QT (рабочие потоки). Все обходные пути, о которых я читал, выглядят довольно некрасиво.
Почему Qt? Qt - это среда с графическим интерфейсом пользователя, которая не обязательно помогает со всеми возможными задачами. Рассмотрим PCL pointclouds.org и попытаемся найти в коде пространство имен pcl :: gpu. docs.pointclouds.org/trunk/namespacepcl_1_1gpu.html
Я не зацикливаюсь на вариантах Qt only - «родной для Qt или легко интегрируемый»
У нас есть Qt и связка PCL и несколько других, в зависимости от проекта. Не все работает даже с Qt.





OpenCL, вероятно, ваш лучший выбор. Вам понадобится компилятор C++ 14. Какой компилятор вы используете? Qt вообще не должен влиять на ваше использование. См .: khronos.org/opencl