Très bientôt, nous aurons nVidia GTX 300 qui serait en mesure d'exécuter plusieurs instructions sur plusieurs données (MIMD). Je me demande si OpenCL peut exécuter MIMD?Est-il possible d'exécuter MIMD avec un framework OpenCL?
Répondre
Voir http://www.hpccommunity.org/f55/programming-gp-gpus-options-answers-616/, que j'ai trouvé sur la première page de résultats Google pour une recherche sur "opencl mimd". Citations pertinentes:
"Open CL a été développé par Apple Computer et est une API standard pour GP-GPU et matériel multi-core ... Le modèle est puissant et supporte à la fois les données parallèles (GP-GPU) et la tâche traitement parallèle (multi-core) OpenCL visait clairement à résoudre la situation multi-core/GP-GPU car il prend en charge les constructions paralleles paralleles et paralleles a la tache "
En d'autres termes: Oui, le modèle de langage OpenCL peut représentent les calculs MIMD ainsi que les calculs SIMD.
De toute évidence, le fait qu'une implémentation OpenCL donnée puisse prendre en charge les calculs MIMD GPU est une question différente. Je suppose que toute implémentation OpenCL supportant la nVidia GTX 300 supportera sa capacité MIMD, et bien sûr, nVidia a de très fortes motivations à avoir une sorte de support de programmation pour ce périphérique quand ils le lâcheront! On peut donc raisonnablement s'attendre à ce qu'ils disposent d'une implémentation OpenCL prenant en charge la fonctionnalité MIMD de la GTX 300, bien qu'elle puisse ou non faire partie du premier SDK.
Vous posez beaucoup de questions sur OpenCL, mais vous ne semblez pas faire beaucoup de recherche vous-même. – Eric