Я запускаю Ubuntu 15.10. У меня есть i7-4770 ЦП и Radeon HD 8490, у обоих должен быть GPU. Я хотел бы попробовать программирование OpenCL, но я думаю, что пропускаю некоторые необходимые файлы как cl.h. Я могу просто установить некоторые пакеты репозитория Ubuntu для получения OpenCL, работающего с драйверами с открытым исходным кодом?
Для получения его работающий над Ubuntu 16.04, я имел к:
sudo apt-get install opencl-headers
sudo apt-get install mesa-opencl-icd
При компиляции программы все соответствующие файлы могут быть найдены в /opt/AMDAPPSDK-3.0
(учитывая, что Вы не изменяете местоположение по умолчанию и с 3,0 версия, которую я установил; это могло бы отличаться в зависимости от версии). Не забывайте передавать включение и каталоги lib как -L
и -I
флаги!
Одна определенная проблема, которую я также имел, состояла в том, что эти /opt/AMDAPPSDK-3.0/lib/x86_64/libOpenCL.so
была на самом деле гибкая ссылка на где-нибудь. Но так или иначе гибкая ссылка повредилась (можно проверить это путем щелчка правой кнопкой и выбора свойств), таким образом, для меня было невозможно скомпилировать (продолжал добираться "lOpenCL, не может быть найден" ошибки даже при том, что я включал соответствующие каталоги как -L
и -I
флаги). Таким образом, я должен был удалить libOpenCL.so в x86_64 папке и заменил его новой символьной ссылкой на libOpenCL.so в sdk папке. Затем моя программа скомпилировала и работала без ошибок.
Вот хороший пример программы для тестирования среды OpenCL: http://www.eriksmistad.no/getting-started-with-opencl-and-gpu-computing/ . Единственной вещью, которую я должен был добавить к команде компиляции, было соответствующее -I
и -L
флаги.