OpenCL еще поддерживается в Ubuntu с драйверами с открытым исходным кодом?
Я использую Ubuntu 15.10. У меня процессор i7-4770 и Radeon HD 8490, оба должны иметь графический процессор. Я хотел бы попробовать программирование OpenCL, но я думаю, что мне не хватает некоторых необходимых файлов, таких как cl.h. Могу ли я просто установить несколько пакетов репозитория Ubuntu, чтобы OpenCL работал с драйверами с открытым исходным кодом?
1 ответ
Чтобы заставить его работать на Ubuntu 16.04, мне нужно было:
- Загрузите приложение AMD SDK: http://developer.amd.com/sdks/AMDAPPSDK/Pages/default.aspx
sudo apt-get install opencl-headers
sudo apt-get install mesa-opencl-icd
При компиляции вашей программы все соответствующие файлы можно найти в /opt/AMDAPPSDK-3.0
(учитывая, что вы не меняете расположение по умолчанию, а в версии 3.0, которую я установил, это может отличаться в зависимости от версии). Не забудьте передать каталоги include и lib как -L
а также -I
флаги!
У меня также была одна конкретная проблема: /opt/AMDAPPSDK-3.0/lib/x86_64/libOpenCL.so
была на самом деле мягкая ссылка куда-то. Но почему-то сломалась мягкая ссылка (вы можете проверить это, щелкнув правой кнопкой мыши и выбрав свойства), поэтому я не смог скомпилировать (продолжал получать ошибки "lOpenCL not found", даже если я включил соответствующие каталоги как -L
а также -I
флаги). Поэтому мне пришлось удалить libOpenCL.so в папке x86_64 и заменить ее новой символической ссылкой на libOpenCL.so в папке sdk. Затем моя программа скомпилировалась и запустилась без ошибок.
Вот хороший пример программы для тестирования вашей среды OpenCL: http://www.eriksmistad.no/getting-started-with-opencl-and-gpu-computing/. Единственное, что я должен был добавить к команде компиляции, было -I
а также -L
флаги.