Comment savoir quel processeur OpenCL peut être programmé? Par exemple, le Pentium E5200 .. Y a-t-il un moyen de savoir sans exécuter ni l'interroger?
La compatibilité OpenCL peut généralement être déterminée en consultant les sites du fournisseur. Le SDK APP d’AMD exige que les CPU prennent en charge au moins SSE2. Ils ont également une liste des cartes vidéo ATI/AMD actuellement prises en charge.
La source la plus officielle est probablement la liste de conformité Khronos: http://www.khronos.org/conformance/adopters/conformant-products#opencl
Pour assurer la compatibilité avec le SDK APP AMD: http://developer.AMD.com/gpu/AMDAPPSDK/pages/DriverCompatibility.aspx
Pour NVIDIA, tout ce qui supporte CUDA devrait supporter leur implémentation d'OpenCL: http://www.nvidia.com/object/cuda_gpus.html
Pour la compatibilité avec le SDK Intel OpenCL, consultez:
https://software.intel.com/en-us/articles/opencl-code-builder-release-notes
Voici la liste des produits OpenCL conformes du site de Khronos:
http://www.khronos.org/conformance/adopters/conformant-products/
Vous avez également Intel OpenCL http://software.intel.com/en-us/articles/intel-opencl-sdk/ pour Windows dès maintenant.
Bien pour le processeur, Le SDK d’AMD est supposé fonctionner sur x86 (même sur le x86 d’Intel), ce qui couvrira la plupart de vos options.
Et pour le GPU, je pense que presque toutes les cartes fabriquées ces dernières années devraient utiliser des noyaux OpenCL. Je n'ai pas de liste particulière.
Encore un commentaire sur Intel: Maintenant, ils ne supportent pas seulement OpenCL sous Windows, mais également Linux. Mais il fait partie d'un SDK commercial, voir https://software.intel.com/en-us/intel-media-server-studio .
Une autre alternative pour le développement OpenCL sous Linux est Beignet, un projet source OpenCL maintenu par Intel China . http://www.freedesktop.org/wiki/Software/Beignet/
J'ai testé sur Linux et cela fonctionne comme le didacticiel, cependant, le compilateur qu'ils utilisent est complètement différent de celui sous les fenêtres.