2017-01-19 1 views
3

J'essaie d'utiliser OpenCL sur Linux en utilisant du matériel Intel:Intel OpenCL Beignet Questions

J'ai 3 options:

  1. OpenCL Utilisons Intel sur la mise en œuvre du CPU - me donne l'occasion de tester le code logique car le comportement de performance est très différent.
  2. Utiliser l'OpenCL sur l'implémentation GPU d'Intel - mais je n'ai jamais réussi à l'exécuter car il nécessite des noyaux de build personnalisés et quelque chose à faire (manque-t-il quelque chose?)
  3. - Beignet.

J'ai testé Beignet 1.2.1 OpenCL sur deux plates-formes principales:

  1. i5-6600 avec Intel® Graphics HD 530 - fonctionne bien, mais nettement plus lent que même GPU sous Windows avec les pilotes Intel OpenCL.
  2. i5-3470 avec Intel® HD Graphics 2500 - fonctionne lentement aussi, mais crée en outre d'énormes problèmes graphiques immédiatement en indiquant n'importe quel programme OpenCL - me bloquant fondamentalement toute utilisation de GPU pour OpenCL.

Je l'ai également comparé en exécutant le même code sur l'implémentation du GPU Windows OpenCL - et cela fonctionne beaucoup plus vite.

La plus grande différence que j'ai remarqué dans les noyaux faire une réduction tout à fait standard et simple en utilisant la mémoire locale - elle touche pénalité de performance significative (je l'ai lu quelque part que beignet OpenCL en utilisant la mémoire globale en tant que simulation pour une locale)


Question :

  1. Est-ce que quelqu'un peut utiliser Beignet et obtenir de bonnes performances?
  2. Est-ce que quelqu'un a réussi à installer des pilotes Intel OpenCL pour GPU sans compiler un noyau entier pour cela?
  3. Existe-t-il une liste de diffusion/forums de support pour Beignet (la liste de diffusion que j'ai trouvée était principalement liée aux correctifs)?
  4. Quelqu'un a-t-il eu des problèmes graphiques lors de l'utilisation de Beignet?

Répondre

1

Il ya près d'un an, j'ai été confronté à un dilemme similaire - pilotes Beignet ou Intel OpenCL - et j'ai fini avec les pilotes Intel.

J'ai également commencé avec Beignet en premier mais je n'ai pas pu l'installer avec succès. Cependant l'installation d'Intel OpenCL s'est bien passée sur Ubuntu 14.04 et 16.04.

Ubuntu 14.04 nécessitait des correctifs de noyau mais 16.04 fonctionnait sans que le manuel indique que c'est nécessaire. Je pense que vous pouvez faire sans correctif du noyau tant que votre noyau de distribution Linux correspond à celui requis par le pilote OpenCL et que vous n'avez pas besoin de certaines fonctionnalités pour lesquelles le correctif est requis. Je pense que des correctifs sont nécessaires pour certaines fonctionnalités OpenCL 2.0 et j'ai utilisé OpenCL 1.2. Sur Ubuntu 16.04, la version par défaut du noyau est la version 4.4 qui correspond à celle requise par le pilote OpenCL - en particulier la version du pilote intel-opencl-2.0-2.0-54425. Vous pouvez le télécharger here si vous avez besoin.Par ailleurs, the latest one nécessite actuellement le noyau 4.7. Si la distribution Linux que vous utilisez est sur 4.7, cela peut fonctionner sans correctif.

J'ai également testé Ubuntu vs Windows et je n'ai pas remarqué de différence de performance. J'ai utilisé le pilote 54425 pour le développement OpenCL sur Ubuntu 16.04 pendant plus d'une demi-année et je n'ai vu aucun problème.

+0

Le problème est que je ne peux même pas obtenir le périphérique reconnu par le pilote OpenCL fourni, essayé la version que vous avez liée et aucun résultat. Et je n'ai aucune idée de ce qui se passe exactement et pourquoi ça échoue. – Artyom

+0

Vous devez fournir un peu plus d'informations, comme quoi exactement l'erreur était, était-ce sur le système propre, quelle distribution Linux avez-vous essayé, quelles mesures avez-vous prises, etc – doqtor

+0

c'est exactement le problème que je ne peux même pas déboguer le problème, il ne montre pas le périphérique GPU ... pas d'erreur. Rien. Ubuntu 1.4 avec le noyau 4.4 ... Et je ne peux pas détecter de problème spécifique pourquoi. – Artyom