J'utilise le support bêta pour OpenCL 2.0 sur NVIDIA et le ciblage de GPU haut de gamme comme 1080ti. Dans mon pipeline de calcul, je dois parfois envoyer du travail pour traiter de manière indépendante des images relativement petites. En théorie, je pense que ces images devraient pouvoir être traitées en parallèle sur un seul GPU car la quantité de groupes de travail pour une seule image ne va pas saturer toutes les unités de calcul du GPU.OpenCL Parallel Dispatch
Est-ce possible dans OpenCL? Est-ce que cela a un nom dans OpenCL?
Si c'est possible, l'utilisation de plusieurs files d'attente pour un seul périphérique est-elle le seul moyen de le faire? Ou le conducteur va-t-il regarder le "waitEventList" et décider quels noyaux peuvent être traités en parallèle?
Ai-je besoin de CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE?
Si vous ne voulez pas avoir à utiliser une file d'attente de commandes en panne, utilisez plutôt plusieurs files d'attente de commandes dans l'ordre. Si votre appareil est capable de traiter plus d'un noyau à la fois, il en prendra un dans chaque file d'attente de commandes. C'est beaucoup plus facile que de traiter des files d'attente en panne. – Dithermaster
Oui, plusieurs files d'attente dans l'ordre ont également des performances prévisibles grâce au contrôle explicite de l'hôte. –