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

 
WChas:

Le fichier du haut est un téléchargement du mien, celui du bas provient de votre lien. Taille complètement différente.... )

C'est simple, j'ai mis le mauvais lien ici. :)

J'ai les deux fichiers, de la même taille.

J'ai abandonné pour le moment. Maintenant j'ai installé Studio 2010 et AMD SDK. Ils sont installés correctement, je vais étudier les exemples demain.

Je vais me coucher maintenant.

 
Pour ceux qui achètent de nouvelles cartes graphiques pour utiliser OpenCL.
Je vous recommande de lire attentivement les spécifications relatives à l'utilisation de la nouvelle et de l'ancienne carte de bus PCI-E.
Le fait est que si vous décidez d'utiliser les deux cartes vidéo, la vitesse du bus sera choisie à la vitesse la plus faible, ce qui pourrait vous faire perdre en performance.
Des tests internes montrent que la perte lors du transfert des données du GPU vers la RAM est assez sensible en termes de temps !
 
mql5:


Les tests internes montrent que la perte dans le transfert des données du GPU à la RAM est très sensible dans le temps !


Malheureusement, c'est la pire chose qui puisse annuler la vitesse du GPU. Pour cette raison, OpenCL ne présente un avantage que dans les calculs à grande échelle où il faut charger la tâche une fois et obtenir les résultats une seconde fois. C'est-à-dire qu'il est mauvais pour les processus parallèles qui doivent charger des tâches avec une grande quantité de données d'entrée d'une application vers le GPU et recevoir les résultats lorsqu'ils sont prêts à revenir, ainsi que pour les petites tâches.
 
Il y a une question liée au fait qu'il existe des conditions préalables à l'intégration du GPU dans le CPU. N'y aura-t-il pas à l'avenir des conflits entre OpenMP et OpenCL à tous les niveaux du terminal et du testeur ?
 
-Alexey-: N'y aura-t-il pas à l'avenir des conflits entre OpenMP et OpenCL à tous les niveaux du terminal et du testeur ?

OpenMP est-il déjà pris en charge dans MQL5 ?

Si la question est trop idiote - ne frappez pas trop fort.

 
Supporté par la dll, et probablement beaucoup de gens comme moi utilisent cette fonctionnalité. L'accélération d'une fois et demie à plusieurs fois est tout à fait tangible, et ne nécessite pas de carte vidéo, fonctionne aussi bien en indicateur qu'en testeur.
 
Vous pouvez soutenir le diable avec une dll.
 
Mathemat:
Vous pouvez soutenir l'enfer avec une dll.

Je m'en fous. :)

Mais pour une raison quelconque, les développeurs ont choisi OpenCL et non OpenMP. Pas pour une raison... Il semble que dans les prochaines versions, il sera possible de le ressentir dans le testeur, si je comprends bien. Je ne suis pas sûr de pouvoir le sentir du tout. Les tests le montrent. :)

 
Mathemat:
Vous pouvez le soutenir avec une dll.
Le testeur sait comment paralléliser sur plusieurs cœurs de processeur. Cependant, si le code de l'EA utilise déjà une dll avec des calculs parallèles, cela n'est pas nécessaire car cela peut causer un ralentissement. Les cœurs locaux peuvent être désactivés dans le testeur, mais ce qui se passera avec les programmes OpenCL de MCL et le testeur OpenCL n'est pas clair : où, quoi, comment ? Le testeur mettra les cycles en parallèle ou un seul cycle sera mis en parallèle. C'est-à-dire que le programme EA sera mis en parallèle sur le GPU ou dans le testeur, ou les deux, et comment il interagira avec OpenMP en externe. En bref, je suis déjà confus...
 

Que signifie l'erreur 5102 et quel est le danger ?

Tout semble correct, le programme fonctionne, mais GetLastError() renvoie une erreur, pas de déchiffrage dans l'aide jusqu'à présent.

Raison: