Para fazê-lo funcionar no Ubuntu 16.04 eu tive que:
- Faça o download do SDK do aplicativo da AMD: link
-
sudo apt-get install opencl-headers
-
sudo apt-get install mesa-opencl-icd
Ao compilar seu programa, todos os arquivos relevantes podem ser encontrados em /opt/AMDAPPSDK-3.0
(dado que você não altera o local padrão e com 3.0 a versão que eu instalei; isso pode ser diferente dependendo da versão). Não esqueça de passar os diretórios include e lib como -L
e -I
flags!
Um problema específico que eu também tive foi que o /opt/AMDAPPSDK-3.0/lib/x86_64/libOpenCL.so
era na verdade um link para algum lugar. Mas de alguma forma o link flexível quebrou (você pode verificar isso clicando com o botão direito e selecionando propriedades), então foi impossível compilar (continuei recebendo erros "lOpenCL não pode ser encontrado" mesmo que eu inclua os diretórios relevantes como -L
e -I
flags). Então tive que deletar libOpenCL.so na pasta x86_64 e substituí-lo por um novo symlink para o libOpenCL.so na pasta sdk. Então meu programa compilou e rodou sem erros.
Aqui está um bom exemplo de programa para testar seu ambiente OpenCL: link . A única coisa que eu tive que adicionar ao comando compile foram as% apropriadas-I
e -L
flags.