Компиляция OpenCL в Ubuntu - PullRequest
       73

Компиляция OpenCL в Ubuntu

8 голосов
/ 30 октября 2010

Мой опыт программирования составляет около 1 года опыта C / C ++ в старшей школе, но я провел свое исследование и написал простую программу с OpenCL несколько месяцев назад. Я смог относительно легко скомпилировать и запустить это на компьютере Apple с помощью g ++ и опции --framework. Теперь я нахожусь на своей машине с Ubuntu и не знаю, как ее скомпилировать. Правильные драйверы были загружены вместе с Stream SDK от ATI (у меня ATI Radeon HD5870). Любая помощь будет оценена!

Ответы [ 3 ]

8 голосов
/ 31 октября 2010

Попробуйте

locate libOpenCL.so

Если он находится в одном из стандартных каталогов (скорее всего, / usr / lib или / usr / local / lib), вам нужно заменить "--framework OpenCL" на "-lOpenCL».Если g ++ не может найти библиотеку, вы можете указать g ++ поискать в определенном каталоге, добавив «-L / path / to / library».

Я бы хотел, чтобы мой Linux был более полезным ... Этовероятно, лучше всего, если вы заново загрузите ati-stream-sdk, после распаковки откройте терминал и «cd / path / to / extract / files»;в этом каталоге выполните make && sudo make install

  • make вы, вероятно, знаете это из окон, это компилируется, все, что нужно скомпилировать
  • && объединяет команды вместе, следующие командыбудет выполняться только в том случае, если первая команда будет выполнена успешно
  • sudo make install это поместит файлы в ожидаемые места (sudo выполняет команду с привилегиями суперпользователя, вам нужно будет ввести свой пароль)

Надеюсь, это поможет.

0 голосов
/ 04 сентября 2017

Причина

Кроме @bjoernz, моя система не может найти libOpenCL.so файл

Это потому, что отсутствует правильный каталог файла

После поиска поВ интернете я обнаружил, что 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
  • Драйвер графического процессора : nvidia-375
  • OpenCL : 1.2

Справка:

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

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

0 голосов
/ 31 октября 2010

Возможно, вам не хватает динамических библиотек из конфигурации динамического компоновщика.

Найдите, где находятся библиотеки.Скорее всего / usr / lib или /usr/local/lib.

Убедитесь, что местоположение пути также настроено в одном из следующих мест:

  • LD_LIBRARY_PATH - вы можете установитьв вашей оболочке среды, например .bashrc
  • / etc / ld.so.conf - вам потребуется вызвать ldconfig для обновления кэша, и для изменения файла требуется root-доступ.
...