Компиляция OpenCL на Ubuntu
мой опыт программирования составляет около 1 года опыта C / C++ из средней школы, но я сделал свое исследование и написал простую программу с OpenCL несколько месяцев назад. Я смог скомпилировать и запустить это на компьютере Apple относительно легко с помощью g++ и опции -- framework. Теперь я на своей машине Ubuntu, и я понятия не имею, как ее скомпилировать. Правильные драйверы были загружены вместе с Stream SDK ATI (у меня есть ATI Radeon HD5870). Любая помощь будет оценена!
3 ответов
попробовать
locate libOpenCL.so
если он находится в одном из стандартных каталогов (скорее всего, /usr/lib или /usr/local/lib), вам нужно заменить "--framework OpenCL" на "-lOpenCL". Если g++ не может найти lib, вы можете сказать g++ искать в определенном каталоге, добавив "- L/path/to / library".
Я хотел бы, чтобы мой Linux был более полезным... Вероятно, лучше всего, если вы повторно загрузите ATI-stream-sdk, после его извлечения откройте терминал и "cd / path/to / extracted / files"; в этом каталог, выполнить make && sudo make install
-
make
вы, вероятно, знаете это из windows, это компилируется, все, что нужно скомпилировать -
&&
цепи команд вместе, следующие команды будут выполняться только в том случае, если первая команда преуспела -
sudo make install
это поместит файлы в ожидаемые места (sudo выполняет команду с привилегиями суперпользователя, вам нужно будет ввести свой пароль)
надеюсь, что это поможет.
возможно, в конфигурации динамического компоновщика отсутствуют динамические библиотеки.
поиск, где находятся библиотеки. Скорее всего /usr /lib, или/usr/local / lib.
убедитесь, что расположение пути также настроено в одном из этих мест:
- LD_LIBRARY_PATH - вы можете установить его в оболочке среды, например .bashrc и
- / etc / ld.Итак.conf-вам нужно будет вызвать ldconfig для обновления кэша, и он требует корневого доступа для изменения файл.
причина
помимо @bjoernz, моя система не может найти
это потому, что правильный каталог файлов отсутствует
после searchig через интернет, я узнал, что libOpenCL.so
файл может быть предоставлен ocl-icd-opencl-dev
пакета
решение
вам просто нужно установить пакет, упомянутый выше, введя cmd
sudo apt update
sudo apt install ocl-icd-opencl-dev
таким образом, libOpenCL.so
можно найти /usr/lib/x86_64-linux-gnu/
папку
мой Системная Информация
- OS: Ubuntu 16.04 LTS
- GPU: NVIDIA GeForce GTX 660
- драйвер GPU: nvidia-375
- OpenCL: 1.2