OpenCL : tests de l'implémentation interne dans MQL5 - page 37

 
joo: Et il est fort probable qu'il ne s'agisse pas de mémoire, mais du mécanisme de parallélisation des tâches du pilote OpenCL lui-même. Vous devez expérimenter avec des multiples du nombre de mouches.
Que faire si je ne sais pas combien de mouches je possède (Intel HD Graphics 1000) ? Soit 6 ou beaucoup plus... S'il y en a 6, d'où vient une augmentation de 25x de la vitesse d'exécution ?
 
Mathemat:
Que faire si je ne sais pas combien de mouches je possède (Intel HD Graphics 1000) ? Soit 6 ou beaucoup plus... S'il y en a 6, d'où vient la multiplication par 25 de la vitesse d'exécution ?
Le gain de x25 vient de mon génie, enfin un peu des opérations vectorielles. Le produit scalaire de vecteurs compte très rapidement sur le GPU.
 
MetaDriver: x25-croissance vient de mon génie, enfin un peu des opérations vectorielles. Le produit scalaire de vecteurs compte très rapidement sur le GPU.

N'oubliez pas que ces 6 abeilles tournent à 1,1 GHz, soit 2,5 fois moins que la fréquence de la pierre. Ce sont donc 2,5 abeilles conditionnelles qui fonctionnent à la fréquence de la pierre. Mais d'où vient le 25x ?

 
Mathemat:

N'oubliez pas que ces 6 abeilles tournent à 1,1 GHz, soit 2,5 fois moins que la fréquence de la roche. Cela représente 2,5 abeilles conditionnelles fonctionnant à la fréquence de la pierre. Mais d'où vient le 25x ?

SSE gère 4 flottants à la fois * 2 cœurs + optimisations du compilateur.
 
mql5: SSE gère 4 flottants à la fois * 2 cœurs + les optimisations du compilateur.

Tout le travail est donc effectué sur les cœurs du CPU - et non sur les abeilles du GPU embarqué ?

Et la seconde : si ce n'est pas sur les abeilles, alors comment faire en sorte que le code fonctionne exactement sur elles ?

P.S. AMD a fait ce gâchis avec un GPU embarqué puissant pour une raison : A8-3850 a jusqu'à 400 abeilles...

P.P.S. Un représentant du développeur s'est présenté et s'est enfui à nouveau :(

 
2012.03.16 23:34:11 Terminal GPU : NVIDIA Corporation GeForce GTX 590 avec OpenCL 1.1 (16 unités, 1225 MHz, 1536 Mb, version 285.62)
2012.03.16 23:34:11 Terminal GPU : NVIDIA Corporation GeForce GTX 590 avec OpenCL 1.1 (16 unités, 1225 MHz, 1536 Mb, version 285.62)
^^^ comment tester ?
 
casinonsk: ^^^^ comment tester ?
Exécutez comme un script n'importe lequel des codes postés par MetaDriver.
 
Mathemat:
Exécutez comme un script n'importe lequel des codes postés par MetaDriver.

ExécuterOpenCL.

1 noyau était chargé à une moyenne de 50%.

Le noyau 2 n'est pas du tout utilisé.

 
casinonsk:
2012.03.16 23:34:11 Terminal GPU : NVIDIA Corporation GeForce GTX 590 avec OpenCL 1.1 (16 unités, 1225 MHz, 1536 Mb, version 285.62)
2012.03.16 23:34:11 Terminal GPU : NVIDIA Corporation GeForce GTX 590 avec OpenCL 1.1 (16 unités, 1225 MHz, 1536 Mb, version 285.62)
^^^ comment tester ?

Les GPU double-boost sont là. Très intéressant. Quelle est cette unité centrale ?

Exécutez le script dans la pièce jointe.

Dossiers :
 
Mathemat:

Tout le travail est donc effectué sur les cœurs du CPU - et non sur les abeilles du GPU embarqué ?

Et la seconde : si ce n'est pas sur les abeilles, alors comment faire en sorte que le code fonctionne exactement sur elles ?

P.S. AMD a fait ce gâchis avec un GPU embarqué puissant pour une raison : il y a jusqu'à 400 abeilles dans le A8-3850...

P.P.S. Donc, un représentant des développeurs est apparu et s'est enfui à nouveau :(

Je peux me tromper sur le fait qu'il fonctionne sur CPU, mais à en juger par votre post et connaissant les particularités internes, il est tout à fait possible que le travail ait été fait sur une émulation CPU d'AMD.
Malheureusement, dans l'implémentation actuelle, le choix du dispositif est laissé au terminal, mais dans la prochaine version, il sera possible de choisir soi-même un des dispositifs disponibles.