1

J'essaye de faire un programme OpenCL avec AMD sous linux. J'ai les drivers AMD et nvidia opencl installés. clinfo marche

Démarrage:
Platform:               0

        Platform Vendor:        Advanced Micro Devices, Inc.
        Number of devices:      2

        Device: 0
                Name:                           Turks
                Vendor:                         Advanced Micro Devices, Inc.
                Available:                      Yes
                Type:                           GPU
                Compute Units:                  6
                Clock Frequency:                650 mHz
                Global Memory:                  512 mb
                Max Allocateable Memory:        128 mb
                Local Memory:                   32768 kb

                Workgroup size:                 256

        Device: 1
                Name:                           Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz
                Vendor:                         GenuineIntel
                Available:                      Yes
                Type:                           CPU
                Compute Units:                  4
                Clock Frequency:                2604 mHz
                Global Memory:                  7961 mb
                Max Allocateable Memory:        2048 mb
                Local Memory:                   32768 kb

                Workgroup size:                 1024

Platform:               1

        Platform Vendor:        NVIDIA Corporation
        Number of devices:      1

        Device: 0
                Name:                           GeForce 210
                Vendor:                         NVIDIA Corporation
                Available:                      Yes
                Type:                           GPU
                Compute Units:                  2
                Clock Frequency:                1238 mHz
                Global Memory:                  511 mb
                Max Allocateable Memory:        128 mb
                Local Memory:                   16384 kb

                Workgroup size:                 512

mais ca me freeze sans vouloir démarré lors de la création de la command queue avec la carte AMD alors que ca marche avec la carte nvidia. Après un CTL-C, je m'arrête dans :
Program received signal SIGINT, Interrupt.
sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
85      ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Aucun fichier ou dossier de ce type.
(gdb) bt
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
#1  0x00007ffff2e838a0 in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#2  0x00007ffff2e816d6 in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#3  0x00007ffff2e72993 in ?? () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#4  0x00007ffff2e44015 in clCreateCommandQueueWithProperties () from /usr/lib/x86_64-linux-gnu/libamdocl64.so
#5  0x00007ffff2e44299 in clCreateCommandQueue () from /usr/lib/x86_64-linux-gnu/libamdocl64.so

Des idées ? A part que le driver AMD est tout moisi ?
Pour info, ca freeze aussi lorsque je sélectionne le CPU comme backend.

2

Juste pour dire que j'ai toujours le problème....

J'ai posté le problème sur le forum d'amd : https://community.amd.com/thread/196804
Mais je n'arrive plus à poster une réponse A MON PROPRE thread (et il n'est pas locké) !
J'ai levé un incident (https://community.amd.com/message/2707528) où on m'a dit de demander un accès (https://community.amd.com/thread/197142) que je n'ai toujours pas depuis un mois !

Je suis désespéré sad

3

C'est ta punition pour avoir utilisé un pilote propriétaire. tongue https://dri.freedesktop.org/wiki/GalliumCompute/ FTW!
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4

C'est un WIP...
Et je n'arrive même pas à faire fonctionner beignet ...

A part les pilotes propriétaires, je n'ai jamais rien vu de fonctionnel sous OpenCl pour Linux (et aussi oclgrind mais qui a un autre but).

5

Un petit état d'OpenCL sous Linux:

Exécution sous CPU:
  • libpocl: Portable OpenCL. Free. Lent mais marche.
  • AMD CPU: Ne marche pas. Propriétaire. Blocage sur ClCreateCommandQueue..
  • Intel CPU: Nécessite des processeurs récents et ne marche pas. Propriétaire. Blocage sur ClCreateContext...
  • oclgrind: Vérficateur OpenCL. Free. Très lent mais marche très bien (reporte bien les erreurs !).

Exécution sous GPU:
  • nvidia : On est en OpenCL 1.2. Propriétaire. Marche, rapide.
  • AMD GPU: Ne marche pas. Propriétaire. Blocage sur ClCreateCommandQueue et nécessite un serveur X fonctionnant sous flgrx !
  • Intel GPU (beignet): Free. Ne marche pas sans un serveur X fonctionnant avec les drivers Intel (non testé).
  • Gallium: Free. Ne fonctionne qu'avec de vieille Radeon. Nécessite surement aussi un serveur X... Non testé

6

Et le propriétaire NVidia fait l'OpenCL GPU sans X?
avatarMes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

7

Oui. Il parle directement au driver du kernel sans passer par le serveur X (ce qui est la bonne facon de faire, car on n'a pas forcément de serveur X et si on a un serveur X, ce n'est pas pour ca que l'on ne souhaite pas utiliser un autre GPU pour opencl).

8

PpHd (./7) :
Oui. Il parle directement au driver du kernel sans passer par le serveur X (ce qui est la bonne facon de faire, car on n'a pas forcément de serveur X et si on a un serveur X, ce n'est pas pour ca que l'on ne souhaite pas utiliser un autre GPU pour opencl).
+1, ça manque cruellement sur AMD
avatarWebmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca