nouveau paquet openCL pour AMD GPU
recherche testeurs/testeuses
Système et matériels / Cartes graphiques et webcams

squid-f Membre non connecté
-
- Voir le profil du membre squid-f
- Inscrit le : 03/04/2016
- Groupes :
-
Membre d'Honneur

Je suis en train d'empaqueter ROCm afin d'avoir openCL pour les cartes AMD en construisant depuis les sources.
https://www.amd.com/fr/graphics/servers-solutions-rocm
https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime
EDIT2
Les paquets sont maintenant disponibles dans les dépôts officiels de Mageia.
Vous n'avez donc plus besoin d'utiliser le dépôt MLO pour cela.
Vous devez par contre activer le dépôt Core Updates Testing dans le CCM, car nous sommes toujours en période de tests.
Vous n'avez qu'à installer le paquet rocm-amd-opencl, si vous avez besoin de openCL pour Darktable ou LibreOffice.
Pour Blender, vous devez aussi installer rocm-hip.
EDIT
J'ai en fait simplifié les choses pour éviter trop de questions.
Le paquet s'appelle maintenant rocm-amd-opencl et se trouve dans le dépôt NonFree de MLO9 pour MGA9.
Vous n'avez donc plus besoin d'activer le dépôt Backport de MLO.
Le paquet rocm-amd-opencl contient maintenant aussi la librairie propriétaire pour les cartes plus anciennes (comme la RX570 de génération Polaris). Cette librairie est distribuable, comme le sont celles de Nvidia.
J'ai testé sur ma machine et cela fonctionne.
La commande rocm-clinfo retourne :
Code TEXT :
$ rocm-clinfo Number of platforms: 1 Platform Profile: FULL_PROFILE Platform Version: OpenCL 2.1 AMD-APP (3302.5) Platform Name: AMD Accelerated Parallel Processing Platform Vendor: Advanced Micro Devices, Inc. Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices Platform Name: AMD Accelerated Parallel Processing Number of devices: 1 Device Type: CL_DEVICE_TYPE_GPU Vendor ID: 1002h Board name: AMD Radeon RX 570 Series Device Topology: PCI[ B#7, D#0, F#0 ] Max compute units: 32 Max work items dimensions: 3 Max work items[0]: 1024 Max work items[1]: 1024 Max work items[2]: 1024 Max work group size: 256 Preferred vector width char: 4 Preferred vector width short: 2 Preferred vector width int: 1 Preferred vector width long: 1 Preferred vector width float: 1 Preferred vector width double: 1 Native vector width char: 4 Native vector width short: 2 Native vector width int: 1 Native vector width long: 1 Native vector width float: 1 Native vector width double: 1 Max clock frequency: 1284Mhz Address bits: 64 Max memory allocation: 7073274265 Image support: Yes Max number of images read arguments: 128 Max number of images write arguments: 64 Max image 2D width: 16384 Max image 2D height: 16384 Max image 3D width: 2048 Max image 3D height: 2048 Max image 3D depth: 2048 Max samplers within kernel: 16 Max size of kernel argument: 1024 Alignment (bits) of base address: 2048 Minimum alignment (bytes) for any datatype: 128 Single precision floating point capability Denorms: No Quiet NaNs: Yes Round to nearest even: Yes Round to zero: Yes Round to +ve and infinity: Yes IEEE754-2008 fused multiply-add: Yes Cache type: Read/Write Cache line size: 64 Cache size: 16384 Global memory size: 8589934592 Constant buffer size: 7073274265 Max number of constant args: 8 Local memory type: Scratchpad Local memory size: 65536 Max pipe arguments: 16 Max pipe active reservations: 16 Max pipe packet size: 2778306969 Max global variable size: 6365946624 Max global variable preferred total size: 8589934592 Max read/write image args: 64 Max on device events: 1024 Queue on device max size: 8388608 Max on device queues: 1 Queue on device preferred size: 262144 SVM capabilities: Coarse grain buffer: Yes Fine grain buffer: Yes Fine grain system: No Atomics: No Preferred platform atomic alignment: 0 Preferred global atomic alignment: 0 Preferred local atomic alignment: 0 Kernel Preferred work group size multiple: 64 Error correction support: 0 Unified memory for Host and Device: 0 Profiling timer resolution: 1 Device endianess: Little Available: Yes Compiler available: Yes Execution capabilities: Execute OpenCL kernels: Yes Execute native function: No Queue on Host properties: Out-of-Order: No Profiling : Yes Queue on Device properties: Out-of-Order: Yes Profiling : Yes Platform ID: 0x7f10fc42df10 Name: Ellesmere Vendor: Advanced Micro Devices, Inc. Device OpenCL C version: OpenCL C 2.0 Driver version: 3302.5 (PAL,HSAIL) Profile: FULL_PROFILE Version: OpenCL 2.0 AMD-APP (3302.5) Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_gl_sharing cl_khr_gl_depth_images cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_image2d_from_buffer cl_khr_subgroups cl_khr_gl_event cl_khr_depth_images cl_khr_mipmap_image cl_khr_mipmap_image_writes cl_amd_copy_buffer_p2p
Donc, si vous aviez le dépôt MLO9 déjà installé, vous avez simplement à faire en root :
Code BASH :
urpmi rocm-amd-opencl
ou vous pouvez aussi sélectionner ce paquet par le CCM.
A+

Le paragraphe initial ci-dessous est maintenant obsolète :
J'ai mis le paquet rocm-opencl dans le dépôt MLO9 Backport (désolé, le paquet ne sera pas disponible pour MGA8 mais qu'à partir de MGA9).
Il suffit donc de l'installer par le CCM ou urpmi rocm-opencl ; et la commande rocm-clinfo viendra avec.
Il faut avoir activé au préalable le dépôt MLO9 pour MGA9 :
J'ai besoin de personnes pour tester. Il n'y a pas de risques particuliers si cela ne fonctionne pas. Un urpme rocm-opencl (ou par le CCM) enlèvera le paquet.
J'ai une carte RX570 et j'ai l'impression qu'elle est trop ancienne. Elle pourrait ne plus être supportée par cette version de ROCm.
J'ai trouvé un moyen d'ajouter une ancienne librairie pré-compilée qui permet de rendre openCL actif, mais cela ferait un paquet qui n'est pas entièrement compilé depuis les sources. On se retrouverait avec un paquet légèrement hybride ; à mettre dans le dépôt NonFree peut-être. Mais cela serait bien moins pire que le paquet AUR pour Arch Linux qui "se contente" de décompresser des anciens paquets pré-compilés fournis par AMD.
La commande rocm-clinfo retourne pour moi :
openCL est bien installé mais ma carte n'est pas trouvée...
Code BASH :
$ urpmq -i rocm-opencl Name : rocm-opencl Version : 5.5.1 Release : 1.squidf.mlo9 Group : System/Kernel and hardware Size : 1080 Architecture: x86_64 Source RPM : rocm-opencl-5.5.1-1.squidf.mlo9.src.rpm URL : https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime Summary : ROCm OpenCL Runtime for AMD GPU Description : ROCm OpenCL language runtime for AMD GPU. Supports offline and in-process/in-memory compilation.
Il suffit donc de l'installer par le CCM ou urpmi rocm-opencl ; et la commande rocm-clinfo viendra avec.
Il faut avoir activé au préalable le dépôt MLO9 pour MGA9 :
Code BASH :
su - mot de passe : urpmi.addmedia --distrib https://repository.mageialinux-online.org/9/x86_64
J'ai besoin de personnes pour tester. Il n'y a pas de risques particuliers si cela ne fonctionne pas. Un urpme rocm-opencl (ou par le CCM) enlèvera le paquet.
J'ai une carte RX570 et j'ai l'impression qu'elle est trop ancienne. Elle pourrait ne plus être supportée par cette version de ROCm.
J'ai trouvé un moyen d'ajouter une ancienne librairie pré-compilée qui permet de rendre openCL actif, mais cela ferait un paquet qui n'est pas entièrement compilé depuis les sources. On se retrouverait avec un paquet légèrement hybride ; à mettre dans le dépôt NonFree peut-être. Mais cela serait bien moins pire que le paquet AUR pour Arch Linux qui "se contente" de décompresser des anciens paquets pré-compilés fournis par AMD.
La commande rocm-clinfo retourne pour moi :
Code BASH :
Number of platforms: 1 Platform Profile: FULL_PROFILE Platform Version: OpenCL 2.1 AMD-APP (3558.0) Platform Name: AMD Accelerated Parallel Processing Platform Vendor: Advanced Micro Devices, Inc. Platform Extensions: cl_khr_icd cl_amd_event_callback Platform Name: AMD Accelerated Parallel Processing Number of devices: 0
openCL est bien installé mais ma carte n'est pas trouvée...

Merci d'avance pour vos tests.

A+
« Plus les hommes seront éclairés et plus ils seront libres. » ~ Voltaire

vinceff Membre non connecté
-
- Voir le profil du membre vinceff
- Inscrit le : 04/09/2017
- Groupes :
-
Ambassadeur
-
Forgeron
Merci squid pour cette initiative !
Je pourrai tester mais pas avant jeudi -_-.
Excellente soirée !!
Mageia 9 - Desktop gaming AMD Ryzen 5800X + 6950 XT + 32 GB ram + 2 To SSD + 3 To HDD / KDE
Ubuntu 22.04 - Thinkpad
Ubuntu 22.04 - Thinkpad

Yuusha Membre non connecté
-
- Voir le profil du membre Yuusha
- Inscrit le : 04/07/2017
- Groupes :
-
Modérateur
-
Administrateur
-
Forgeron
Merci squid-f

S'il est dans un dépôt Backport, Il vaut mieux utiliser urpmi que drakrpm où vous pourriez être touchés par le bug très gênant sur les dépôts backports.
squid-f :
Mais cela serait bien moins pire que le paquet AUR pour Arch Linux
Mais peut-on faire pire que les paquets présents dans AUR ?


squid-f Membre non connecté
-
- Voir le profil du membre squid-f
- Inscrit le : 03/04/2016
- Groupes :
-
Membre d'Honneur

Je pense avoir compris pourquoi ma carte n'est pas supportée:
Code TEXT :
There are two OpenCL implementations available: ROCr: Provides support for Vega 10 and newer hardware. Legacy: Provides support for hardware older than Vega 10.
Donc, ce que j'ai empaqueté ne dois s'appliquer que pour des cartes de génération Vega 10 et plus.
Ma RX 570 est de génération Polaris, qui est la génération précédente...
Donc, si vous avez une carte Vega 10 ou plus, votre retour m'intéresse

Pour les autres, il va falloir voir si je peux légalement distribuer le module propriétaire dont j'ai parlé dans mon post initial.
A+
« Plus les hommes seront éclairés et plus ils seront libres. » ~ Voltaire

scroll44 Membre non connecté
-
- Voir le profil du membre scroll44
- Inscrit le : 24/09/2022
- Groupes :
squid-f :
Bonjour 
...
J'ai une carte RX570 et j'ai l'impression qu'elle est trop ancienne. Elle pourrait ne plus être supportée par cette version de ROCm.
J'ai trouvé un moyen d'ajouter une ancienne librairie pré-compilée qui permet de rendre openCL actif, mais cela ferait un paquet qui n'est pas entièrement compilé depuis les sources. On se retrouverait avec un paquet légèrement hybride ; à mettre dans le dépôt NonFree peut-être. Mais cela serait bien moins pire que le paquet AUR pour Arch Linux qui "se contente" de décompresser des anciens paquets pré-compilés fournis par AMD.
...

...
J'ai une carte RX570 et j'ai l'impression qu'elle est trop ancienne. Elle pourrait ne plus être supportée par cette version de ROCm.
J'ai trouvé un moyen d'ajouter une ancienne librairie pré-compilée qui permet de rendre openCL actif, mais cela ferait un paquet qui n'est pas entièrement compilé depuis les sources. On se retrouverait avec un paquet légèrement hybride ; à mettre dans le dépôt NonFree peut-être. Mais cela serait bien moins pire que le paquet AUR pour Arch Linux qui "se contente" de décompresser des anciens paquets pré-compilés fournis par AMD.
...
Je n’y connais pas grand-chose…
Rassure-moi les RX570 seront toujours utilisables pour les jeux ?
Merci.

squid-f Membre non connecté
-
- Voir le profil du membre squid-f
- Inscrit le : 03/04/2016
- Groupes :
-
Membre d'Honneur
scroll44 :
Bonjour,
Je n’y connais pas grand-chose…
Rassure-moi les RX570 seront toujours utilisables pour les jeux ?
Merci.
Je n’y connais pas grand-chose…
Rassure-moi les RX570 seront toujours utilisables pour les jeux ?
Merci.
Bonjour, oui, rassure toi.
C'est juste l'installation des pilotes pour openCL qui se complique.
A+
« Plus les hommes seront éclairés et plus ils seront libres. » ~ Voltaire

squid-f Membre non connecté
-
- Voir le profil du membre squid-f
- Inscrit le : 03/04/2016
- Groupes :
-
Membre d'Honneur
J'ai en fait simplifié les choses pour éviter trop de questions.
Le paquet s'appelle maintenant rocm-amd-opencl et se trouve dans le dépôt NonFree de MLO9 pour MGA9.
Vous n'avez donc plus besoin d'activer le dépôt Backport de MLO.
J'ai testé sur ma machine et cela fonctionne.
Donc, si vous aviez le dépôt MLO9 déjà installé, vous avez simplement à faire en root :
Code BASH :
urpmi rocm-amd-opencl
ou vous pouvez aussi sélectionner ce paquet par le CCM.
A+

« Plus les hommes seront éclairés et plus ils seront libres. » ~ Voltaire

squid-f Membre non connecté
-
- Voir le profil du membre squid-f
- Inscrit le : 03/04/2016
- Groupes :
-
Membre d'Honneur

Pour installer les pilotes propriétaires d'AMD pour OpenCL, il y a maintenant 2 paquets sous MLO9 Nonfree (Mageia 8 n'étant bientôt plus supporté, je n'ai pas porté ces paquets dans MLO8).
- Pour les cartes de génération Grenada XT, Carrizo et Polaris, il vous faudra installer amdgpupro-opencl-orca
- Pour les cartes de génération Banded Kestrel, Picasso and Vega, il vous faudra installer amdgpupro-opencl-pal
Je n'ai pas une multitude de cartes à ma disposition, donc, merci aux testeurs et merci de rapporter ici ce qui fonctionne et ce qui ne fonctionne pas (pour de futures amélirations).

A+
« Plus les hommes seront éclairés et plus ils seront libres. » ~ Voltaire

holly76 Membre non connecté
-
- Voir le profil du membre holly76
- Inscrit le : 03/09/2011
- Groupes :
1 transactions d'installation ont échoué
Une erreur est survenue pendant l'installation des paquetages :
... échec de la récupération : wget a échoué : sortie avec 8

squid-f Membre non connecté
-
- Voir le profil du membre squid-f
- Inscrit le : 03/04/2016
- Groupes :
-
Membre d'Honneur
holly76 :Un essai rapide d'install me laisse désemparé:
1 transactions d'installation ont échoué
Une erreur est survenue pendant l'installation des paquetages :
... échec de la récupération : wget a échoué : sortie avec 8
Bonjour
Comment fais-tu l'installation ? Par le CCM ?
Ces paquets n'utilisent pas wget. Je pense que cela vient plutôt des paramètres de mise à jour ou du dépôt qui ne répondais plus.
As-tu essayé de nouveau ultérieurement ?
A+
« Plus les hommes seront éclairés et plus ils seront libres. » ~ Voltaire

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Il n' y a pas eu changement de aria vers wget entre la version 8 et la version 9 de Mageia ?
Si tous les paquets nécessaires sont côté serveur Mlo, sauf erreur côté serveur (mais à ma connaissance celui là n' est pas hébergé à Marseille

Man wget :EXIT STATUS
Wget may return one of several error codes if it encounters problems.
0 No problems occurred.
1 Generic error code.
2 Parse error---for instance, when parsing command-line options, the .wgetrc or .netrc...
3 File I/O error.
4 Network failure.
5 SSL verification failure.
6 Username/password authentication failure.
7 Protocol errors.
8 Server issued an error response.
Édité par nic80 Le 08/10/2023 à 22h10

holly76 Membre non connecté
-
- Voir le profil du membre holly76
- Inscrit le : 03/09/2011
- Groupes :
Je viens d'essayer en manuel:
urpmi amdgpupro-opencl-pal
https://repository.mageialinux-online.org/9/x86_64/media/nonfree/amdgpupro-opencl-pal-20.20-0.1089974.1.squidf.mlo9.x86_64.rpm
... échec de la récupération : wget a échoué : sortie avec 8
L'installation a échoué, certains fichiers sont manquants :
https://repository.mageialinux-online.org/9/x86_64/media/nonfree/amdgpupro-opencl-pal-20.20-0.1089974.1.squidf.mlo9.x86_64.rpm
Vous devriez mettre à jour votre base de données urpmi.
Essayer de continuer néanmoins ? (o/N)
Effectivement, si le paquet est absent, on ne peut s'étonner du résultat


squid-f Membre non connecté
-
- Voir le profil du membre squid-f
- Inscrit le : 03/04/2016
- Groupes :
-
Membre d'Honneur
Tes dépôts MLO ne sont pas à jour. Tu derais avoir une version 1.2 ou 1.3.
Les dépôts MLO ne sont pas configurés en mise à jour par défaut avec MLO9.
Voir : https://www.mageialinux-online.org/wiki/wiki.php?title=depots-supplementaires-pour-mageia-mlo-repository
Que donne :
Code BASH :
su -c "urpmi.update -a"
A+
« Plus les hommes seront éclairés et plus ils seront libres. » ~ Voltaire

holly76 Membre non connecté
-
- Voir le profil du membre holly76
- Inscrit le : 03/09/2011
- Groupes :
[root@serveur thierry]# urpmi.update -a
le média « Core Release » est à jour
le média « Core Updates » est à jour
le média « Nonfree Release » est à jour
le média « Nonfree Updates » est à jour
le média « Tainted Release » est à jour
le média « Tainted Updates » est à jour
le média « Core 32bit Release » est à jour
le média « Core 32bit Updates » est à jour
le média « Nonfree 32bit Release » est à jour
le média « Nonfree 32bit Updates » est à jour
le média « Tainted 32bit Release » est à jour
le média « Tainted 32bit Updates » est à jour
https://repository.mageialinux-online.org/9/x86_64/media/core/media_info/synthesis.hdlist.cz
média « MLO_core » mis à jour
https://repository.mageialinux-online.org/9/x86_64/media/nonfree/media_info/synthesis.hdlist.cz
média « MLO_nonfree » mis à jour
le média « MLO_tainted » est à jour
Effectivement, suite à cette manip, amdgpupro-opencl-pal a pu être installé.
Tout marche maintenant, et, effectivement ma CG AMD fonctionne très bien avec OpenCL dans DarkTable.
Merci pour ton aide


vinceff Membre non connecté
-
- Voir le profil du membre vinceff
- Inscrit le : 04/09/2017
- Groupes :
-
Ambassadeur
-
Forgeron
Merci pour l'initiative !
L'utilisation de davinci resolve ou blender, sur mageia pour ceux qui ont des cartes graphiques AMD est un vrai plus !
Maintenant, malgré l'installation de rocm-amd-opencl, davinci resolve, crash lors de la détection du GPU et blender ne reconnait pas mon GPU.
ROCM n'est donc pas utilisé. Il y a un problème de conf quelques part.
Sur fedora/manjaro cela fonctionne, on peut donc réussir sur mageia, faut trouver le truc qui diffère.
Empaqueter rocm-smi pourrait être un plus pour trouver d'où vient le défaut.
En attendant pour kdenlive, ou en usage gaming, mesa 23.1.7 fait des merveilles et a d'excellentes perf sur Mageia ouf !

Mageia 9 - Desktop gaming AMD Ryzen 5800X + 6950 XT + 32 GB ram + 2 To SSD + 3 To HDD / KDE
Ubuntu 22.04 - Thinkpad
Ubuntu 22.04 - Thinkpad
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie