Como habilitar a plataforma da CPU para aplicativos OpenCL?

8

Atualmente, estou executando o Ubuntu 16.04 em uma máquina com uma APU AMD A8-5600K e uma Radeon R9 270X. O driver amdgpu ainda não suporta minha placa e, portanto, não posso usar o OpenCL na minha GPU. No entanto, não vejo razão para que aplicativos OpenCL não possam usar minha CPU.

Instalei todos os pacotes que consigo pensar - ocl-icd-libopencl1Instale ocl-icd-libopencl1 , ocl-icd-opencl-devInstale ocl-icd-opencl-dev , etc.

Eu escrevi um aplicativo simples que enumera as plataformas OpenCL disponíveis e falha na clGetPlatformIDs()chamada. o que estou perdendo?


Editar: instalei o AMD APP SDK conforme recomendado na resposta do SE6, mas nenhuma plataforma estava aparecendo ainda. A execução stracerevelou que o carregador OpenCL ICD não conseguiu encontrar libamdocl64.so.


Edição adicional: sucesso! Consegui fazê-lo funcionar usando o seguinte comando:

sudo ln -s '/opt/AMDAPPSDK-3.0/lib/x86_64/sdk/libamdocl64.so' \
    /usr/lib/x86_64-linux-gnu/libamdocl64.so

(Substitua /optpelo caminho em que você instalou o AMD APP SDK.)

Nathan Osman
fonte
Na CPU real, ou iGPU?
Ciro Santilli # 15/17

Respostas:

1

Instale o AMD APP SDK no site da AMD; você deverá ver sua CPU disponível como um dispositivo OpenCL.

Se6
fonte
1
Consegui instalá-lo, mas o CDI parece não funcionar. Ainda recebendo "sem plataformas".
Nathan Osman
Atualizei a pergunta para refletir o progresso na depuração disso.
Nathan Osman
... e finalmente sucesso!
Nathan Osman