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?
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
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.
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
.
Exécutez maintenant le programme d'installation avec Sudo
:
Sudo ./amdgpu-pro-install --opencl=legacy -y
Redémarrer
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.
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