Компиляция 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

ссылки:

[1] Как установить libOpenCL.так на ubuntu

[2] как настроить OpenCL в Linux