web-dev-qa-db-fra.com

AMD A4-5300 et calcul GPU sur BOINC

J'ai un AMD A4-5300 AP , qui est un processeur dual-core et un GPU. Il est compatible OpenCL.

J'essaye d'obtenir que BOINC reconnaisse le GPU mais il semble incapable de le faire.

Journal (coupé):

[---] 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

Cela fait deux jours que je cherche une réponse sur Google et je suis désolé de dire que j'ai abandonné.

J'utilise la dernière fglrx (Catalyst 14.12) d'AMD et la dernière BOINC (7.4.22), bien que j'aie essayé les anciennes versions des deux sans succès.

J'ai installé les packages OpenCL et ICD appropriés qui ont fait reconnaître le CPU comme OpenCL, mais BOINC refuse de reconnaître le GPU. Utilisateur: boinc fait partie du groupe: vidéo, mais je réglage essayéxvideo + de toute façon, cela ne faisait aucune différence.

J'ai tout essayé sur le forum BOINC mais rien ne fonctionne. Cela fonctionne si la version 7.4.22 est téléchargée et exécutée en tant qu'utilisateur (1001) actuellement connecté (bien que je l'ai réessayé et que non!), Mais sans définir l'utilisateur BOINC sur ce même utilisateur lors de son exécution (après avoir changé de propriétaire) sur tous les fichiers), comme suggéré dans cet article. L'exécution en tant que root ne fonctionne pas non plus, mais je ne devrais vraiment pas avoir à faire l'une de ces choses.

Est-ce que quelqu'un peut aider? Je ne sais littéralement pas où chercher.

1
Ken Sharp

Le problème provient à l'origine de l'exécution de SSH avec le transfert X (SSH -X) lors de la connexion au serveur. Cela définit $DISPLAY qui bloque la détection du GPU.

Une fois que j'ai réalisé cela, il est devenu évident qu'en raison de restrictions dans Ubunt (et probablement d'autres distributions), BOINC doit être exécuté en tant qu'utilisateur connecté (via X).

En supposant que l'utilisateur est user1:

  1. Sudo service boinc-client stop
  2. Changement BOINC_USER=boinc à BOINC_USER=user1 dans /etc/default/boinc (certaines parties du script init peuvent également être nettoyées)
  3. Ajoutez "sleep 10" à startup () dans /etc/init.d/boinc-client pour permettre à l'utilisateur de se connecter (nécessaire)
  4. Sudo chown -R user1: /etc/boinc-client/*
  5. Sudo chown -R user1: /var/lib/boinc-client
  6. Sudo service boinc-client start

BOINC détecte désormais correctement le GPU et craque les unités de travail en conséquence.

0
Ken Sharp