Pergunta

Minha experiência de programação é de cerca de 1 ano de experiência em C/C ++ no ensino médio, mas fiz minha pesquisa e escrevi um programa simples com o OpenCL há alguns meses. Consegui compilar e executar isso em um computador Apple com relativa facilidade com o G ++ e a opção -quadrowork. Agora estou na minha máquina Ubuntu e não tenho idéia de como compilá -la. Os drivers corretos foram baixados junto com o stream SDK da ATI (eu tenho um ATI Radeon HD5870). Qualquer ajuda seria apreciada!

Foi útil?

Solução

Tentar

locate libOpenCL.so

Se estiver em um dos diretórios padrão (provavelmente/usr/lib, ou/usr/local/lib), você precisará substituir "-quadrowork opencl" por "-lopencl". Se o G ++ não conseguir encontrar o LIB, você poderá dizer ao G ++ para procurar em um diretório específico, adicionando "-l/path/to/biblioteca".

Eu gostaria de ter meu Linux para ser mais útil ... provavelmente é melhor se você reduzir o ATI-Stream-SDK, depois de extraí-lo, abrir o terminal e "CD/PATH/para/extraído/arquivos"; nesse diretório executar make && sudo make install

  • make Você provavelmente sabe disso do Windows, isso compila, o que quer que precise ser compilado
  • && Comandos de correntes juntos, os seguintes comandos só serão executados se o primeiro comando for bem -sucedido
  • sudo make install Isso colocará os arquivos nos lugares esperados (sudo executa um comando com o SuperUser Privilgeges, você terá que inserir sua senha)

Espero que ajude.

Outras dicas

Você pode estar perdendo as bibliotecas dinâmicas da configuração dinâmica do vinculador.

Procure onde estão as bibliotecas. Provavelmente/usr/lib, ou/usr/local/lib.

Verifique se o local do caminho também está configurado em um desses lugares:

  • Ld_library_path - você pode defini -lo no seu ambiente de ambiente, como .bashrc
  • /etc/ld.so.conf - Você precisará ligar para o LDConfig para atualizar o cache e requer acesso root para alterar o arquivo.

Razão

Além de @bjoernz, meu sistema não consegue encontrar o libOpenCL.so Arquivo

É porque o diretório de arquivos correto está faltando

Depois de pesquisar pela Internet, descobri que libOpenCL.so o arquivo pode ser fornecido por ocl-icd-opencl-dev pacote

Solução

Você só precisa instalar o pacote mencionado acima digitando em CMD

sudo apt update
sudo apt install ocl-icd-opencl-dev

Portanto, libOpenCL.so pode ser encontrado em /usr/lib/x86_64-linux-gnu/ pasta

Informações do meu sistema

  • OS: Ubuntu 16.04 LTS
  • GPU: Nvidia geForce GTX 660
  • Motorista da GPU: nvidia-375
  • OpenCl: 1.2

Referência:

[1] Como instalar libencl.so no ubuntu

[2] Como configurar o OpenCl no Linux

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top