Quand utiliser OpenCL?

Avoir trébuché sur ce fil du forum, point de produits plus rapidement sur le cpu que sur gpu en utilisant OpenCLje me suis rappelé de nouveau, qu'il y a des instances, qui se ressemblent, ils sont faits pour OpenCL*, mais où ils sont utilisés, OpenCL n'est pas fourni avec un gain. c'est à dire j'ai aussi un kmeans mise en œuvre à l'aide de pyopencl code qui est plusieurs fois plus rapide qu'un simple code python, mais encore plusieurs fois plus rapide que la fonction scipy pour kmeans.

Alors, comment décider quand utiliser OpenCL?

  • Quelle carte graphique avez-vous besoin? Comment " mieux que le cpu la carte graphique. Est Quadro FX 580 vs i7 860 assez?
  • Comment big le problème? Avez-vous besoin de millions de multiplications pour obtenir quelque chose ou sont plusieurs centaines suffisant?
  • Combien l'optimisation d'un même "de simples" de l'algorithme comme kmeans ou le produit scalaire est nécessaire de faire OpenCL en vaut la peine?

Ou est-ce l'un de ces triangles des cas, où vous ne peuvent (ou doivent) choisir deux des trois coins pour le faire fonctionner?

    problem size
        /\
       / \
      /   \
     /     \
    /________\
GPU/CPU   optimization

Je sais, que j'ai utilisé un peu trop audacieux de la langue pour le titre et les questions. Je vais le changer, si je peux penser à un plus appropriés.

Grâce.

* simple le fonctionnement de la matrice comme le produit scalaire, kmeans ou de la matrice de multiplications

source d'informationauteur Framester