AMD A4-5300 e computação de GPU no BOINC

1

Eu tenho uma APU AMD A4-5300 , que é um CPU dual-core e GPU. É capaz de OpenCL.

Estou tentando fazer com que o BOINC reconheça a GPU, mas parece que não é possível.

Log (recortado):

[---] Starting BOINC client version 7.4.22 for x86_64-pc-linux-gnu
[---] OpenCL CPU: AMD A4-5300 APU with Radeon(tm) HD Graphics (OpenCL driver vendor: Advanced Micro Devices, Inc., driver version 1642.5 (sse2,avx,fma4), device version OpenCL 1.2 AMD-APP (1642.5))
[---] No usable GPUs found

Estou pesquisando por uma resposta há dois dias e lamento dizer que desisti.

Estou usando o mais recente fglrx (Catalyst 14.12) da AMD e o mais recente BOINC (7.4.22), embora tenha tentado versões mais antigas de ambos sem sorte.

Eu instalei os pacotes relevantes de OpenCL e ICD que receberam a CPU como OpenCL, mas o BOINC se recusa a reconhecer a GPU. Usuário: boinc faz parte do grupo: video, mas eu tentei configurar xvideo + de qualquer forma que não fez diferença.

Eu tentei tudo sugerido no fórum do BOINC mas nada disso funciona. Funciona se o 7.4.22 for baixado e executado como o usuário (1001) atualmente logado (embora eu tentei de novo e não funcionaria!), Mas não definindo o usuário BOINC para o mesmo usuário quando ele é executado (depois de alterar a propriedade em todos os arquivos), como sugerido naquele post. Executar como root também não funciona, mas eu realmente não deveria ter que fazer nenhuma dessas coisas.

Alguém pode ajudar em tudo? Eu literalmente não sei mais onde procurar.

    
por Ken Sharp 21.12.2014 / 03:38

1 resposta

0

O problema originalmente resulta da execução do SSH com o encaminhamento do X ( SSH -X ) ao conectar-se ao servidor. Isso define $DISPLAY , que bloqueia a detecção da GPU.

Quando percebi isso, ficou evidente que, devido a restrições em Ubuntu (e provavelmente outras distros), BOINC tem que ser executado como o usuário logado (via X).

Supondo que o usuário é user1 :

  1. sudo service boinc-client stop
  2. Altere BOINC_USER=boinc para BOINC_USER=user1 em /etc/default/boinc (algumas partes do script de inicialização também podem ser limpas)
  3. Adicione "sleep 10" ao startup () em /etc/init.d/boinc-client para permitir que o usuário efetue login (necessário)
  4. sudo chown -R user1: /etc/boinc-client/*
  5. sudo chown -R user1: /var/lib/boinc-client
  6. sudo service boinc-client start

O BOINC agora detecta corretamente a GPU e tritura as unidades de trabalho de acordo.

    
por Ken Sharp 07.01.2015 / 10:00