У меня серьезные проблемы с выполнением первых шагов в Opencl, прежде всего потому, что мой компилятор либо отказывается признать существование соответствующих библиотек. Я загрузил последнюю версию AMD SDK с their website и пошел с полной установкой. Я хочу учиться через this blog, поэтому большая часть моей информации получена оттуда.Неисправность, связанная с AMD SDK opencl
Во-первых, я проверил переменную системного пути и включил 64-битную папку bin amd api.
Я начал с компиляции с использованием файла make с стандартным вариантом -lOpenCl
, но он просто сказал мне, что он не смог найти -lOpenCl или CL \ cl.hpp. Поэтому я добавил -I %AMDAPPSDKROOT%\include
, который исправил половину моей проблемы, но все же (три часа и подсчет) компилятор жалуется на неопределенные ссылки, отказываясь распознавать любую из соответствующих библиотек.
g++ -std=c++1y -g -o .\bin\test.exe .\quicktest.cpp -I .\Libraries -I .\Scource -I "%AMDAPPSDKROOT%\include" -L "%AMDAPPSDKROOT%\bin\x86_64" -L "%AMDAPPSDKROOT%\lib\x86_64" -LlibOpenCl.a
- это команда, которую я компилирую прямо сейчас, и она побеждает все проблемы, но неопределенные ссылки на такие функции, как clGetPlatform
и clReleaseCommandQueue
. Я использую тот же самый код, что и первый пример в OpenCl blog, за исключением того, что я также включил vector
.
Я пробовал загрузку различных комбинаций и предложений из Интернета, но до сих пор ничего не работало. Есть что-то, чего я не вижу/не понимаю? Я бы очень хотел продвинуться в своем учебе и глубоко признателен за любую помощь.
Если честно, я не знаю, какая информация была бы полезной, но если это помогает, я запускаю 64-битный компьютер с Windows 7 с GeForce GT 635, и у меня установлены как CUDA, так и AMD SDK.
У меня может быть решение, я собираюсь сделать перерыв, хотя – user4578093