web-dev-qa-db-fra.com

Comment faire fonctionner une Radeon RX 550 avec OpenCL sous Ubuntu 16.04?

Lorsque je suis le guide officiel d'installation des pilotes AMDGPU-Pro (j'ai déjà essayé les versions 17.30 et 17.40), tout semble fonctionner, mais clinfo revient toujours.

Number of platforms 0

Quelqu'un a-t-il une idée?

2
tamale

Je viens de passer la journée entière là-dessus également. Je ne trouvais aucune instruction de travail. Voici donc ce que j'ai proposé pour AMD Radeon RX 580 sur le système Ubuntu 16.04 sans bureau graphique, installé sur SSH:

Supposons un nouveau système d'installation Ubuntu

  1. Obtenez le kit de développement logiciel AMD APP à partir de ici - Téléchargez, décompressez, puis utilisez Sudo pour exécuter le script d'installation.

  2. Téléchargez le dernier pilote Linux (17,50 au moment de la rédaction de cette réponse) depuis ici , extrayez le fichier .xz en utilisant tar Jxvf <filename> et cd dans le répertoire créé après avoir extrait le fichier .xz.

  3. Exécutez maintenant le programme d'installation avec Sudo:

    Sudo ./amdgpu-pro-install --opencl=legacy -y
    
  4. Redémarrer

  5. Exécutez à nouveau clinfo et vous devriez voir que vous avez maintenant le support OpenCL 1.2 :

    $ clinfo|grep OpenCL
    
    Platform Version:               OpenCL 2.1 AMD-APP (2527.3)
    Execute OpenCL kernels:         Yes
    Device OpenCL C version:        OpenCL C 1.2
    Version:                        OpenCL 1.2 AMD-APP (2527.3)
    

La raison en est que la spécification de --legacy permet d'extraire opencl-amdgpu-pro-icd qui n'est pas normalement installé.

Je pense que cela est dû au fait que les derniers pilotes souhaitent utiliser ROCm: https://rocm.github.io/ROCmInstall.html

ROCm est inutilisable sur ma propre plate-forme, car j’ai des emplacements PCI-e 1x avec élévateurs et un processeur Pentium de base au lieu d’un i7. Vous vérifiez que ROCm a été désactivé comme ceci:

$ dmesg |grep atomic
[4.885958] kfd kfd: skipped device 1002:67df, PCI rejects atomics

Je suppose donc que c’est la raison pour laquelle j’ai dû faire un héritage pour que OpenCL fonctionne.

Je ne sais pas quels sont les avantages/inconvénients d'OpenCL 1.2 par rapport à OpenCL 2.0 par rapport à ROCm, ou même si le pilote ROCm se présente comme OpenCL 2.0 à l'extérieur - ce serait bien si quelqu'un avec plus de perspicacité pouvait commenter.

1
Geoff Williams

OpenCL a échoué car j'ai eu des problèmes de construction du module DKMS en raison de mon noyau.

La mise à niveau de mon noyau vers la version suivante a reçu clinfo rapportant la prise en charge d'OpenCL sur Ubuntu 16.04.4 LTS.

http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15.11/

linux-headers-4.15.11-041511_4.15.11-041511.201803190530_all.deb

linux-headers-4.15.11-041511-generic_4.15.11-041511.201803190530_AMD64.deb

linux-image-4.15.11-041511-generic_4.15.11-041511.201803190530_AMD64.deb

clinfo|grep OpenCL
  Platform Version          OpenCL 2.0 AMD-APP (2482.3)
  Device Version            OpenCL 1.2 AMD-APP (2482.3)
  Device OpenCL C Version   OpenCL C 1.2 
    Run OpenCL kernels      Yes
0
jaycorpinc