OpenCL : tests de l'implémentation interne dans MQL5 - page 60
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Oui, MD, tu ne te débrouilles pas très bien avec un processeur nu. Intel est un peu partout, cependant...
Oh, allez, tu as une super carte graphique.
Pourriez-vous nous dire si cet OpenCL sur un pur CPU donne une telle accélération seulement dans MQL5 ou dans d'autres langages aussi ?
Avez-vous fait la comparaison suivante : MQL5 + OpenCL VS C++ + Optimisation complète du compilateur?
Je soupçonne que ce n'est pas OpenCL qui est si cool mais le manque d'optimisations dans MQL5 lui-même.
P.S. J'ai un i7 2700K, j'essaierai (quand j'y serai) de le tester sur un CPU propre.
C'est drôle : même les pilotes natifs sont tordus - pour Intel et AMD. Espérons que c'est juste un problème de croissance.
Pourriez-vous nous dire si cet OpenCL sur un pur CPU donne une telle accélération seulement dans MQL5 ou dans d'autres langages aussi ?
Avez-vous fait la comparaison suivante : MQL5 + OpenCL VS C++ + Optimisation complète du compilateur?
Je soupçonne que ce n'est pas OpenCL qui est si cool mais le manque d'optimisations dans MQL5 lui-même.
P.S. J'ai un i7 2700K et j'essaierai (quand je serai là) de le tester sur un CPU propre.
Non, on ne l'a pas fait.
Allez-y ! C'est bien.
En gros, le code est porté en C++ en dix minutes au maximum (sur un CPU nu qui compte). Comment utiliser OpenCL en C++, je ne l'ai vu que dans un abécédaire et je n'ai jamais essayé. En fait, j'aurais bien aimé.
Oui, c'est logique. J'ai récemment eu une discussion sur le forum ixbt avec un analyste CPU qui partage la même opinion. La discussion a commencé ici (mon pseudo est tamehtaM). S'il vous plaît, ne me frappez pas pour mon incompétence. Mais j'ai l'impression que Felid en fait aussi trop : il parle trop souvent d'IGP - même lorsque celui-ci est absent ou trop faible.
Mon premier message dans ce fil de discussion a été écrit lorsque je ne savais toujours pas comment installer correctement le runtime Intel OpenCL. En fait, je ne suis toujours pas sûr qu'il ait été réglé correctement. Mais il est déjà environ trois fois meilleur que sur AMD APP SDK.
Les chiffres de l'accélération sont douloureusement élevés, c'est certain. Et ils devraient évidemment devenir plus faibles lorsque les optimisations apparaîtront.
Ce qui est intéressant, c'est que même sans ces optimisations, la cinquième est plus rapide que la quatrième.
Et l'accélération elle-même n'est pas l'essentiel. L'essentiel, ce sont les chiffres absolus de la durée d'exécution. Ils ne vont certainement pas s'aggraver. Pour être plus précis, ils ne devraient pas empirer.
Il s'agit manifestement d'une carte discrète, pas d'un processeur : de telles accélérations sont difficilement réalisables en émulation. Et le nombre d'appareils est déjà de 5, ce qui est vraiment effrayant.
Si vous voulez bien exécuter un code légèrement modifié, s'il vous plaît, et postez le résultat ici. Dans le code, les calculs pour les différents dispositifs OpenCL sont mis en boucle (ils devraient être rapides) tandis que le calcul sur x86, le plus long, est exécuté une seule fois. Il sera long, mais le script lui-même n'est exécuté qu'une fois.
Je me rends compte que je vous ennuie déjà. Mais dans tous les cas, ce sera une bonne information pour l'équipe de support.Voici le résultat.
2012.04.23 21:42:58 ParallelTester_00-01x_cycle (EURUSD,H1) CpuTime/GpuTime = 439.0727802037846Voici le résultat.
2012.04.23 21:42:58 ParallelTester_00-01x_cycle (EURUSD,H1) CpuTime/GpuTime = 439.0727802037846Donc, c'est clair maintenant, le dispositif = 4 est le CPU nu. Et tempsGPU = 687 ms- assez cohérent. Ça a bien marché pour vous.
Je ne comprends pas pourquoi le temps d'exécution de CPU time est si long. J'ai environ 235 000 ms avec une fréquence de noyau beaucoup plus basse (2,8 GHz).
Soit votre mémoire est faible, soit elle est très lente, soit le CPU est en permanence surchargé par une tâche terriblement gourmande en ressources. Ce n'est pas clair. Le chiffre du ratio temps est anormalement élevé.
Donc, c'est clair maintenant, le dispositif = 4 est le CPU nu. Et tempsGPU = 687 ms- assez cohérent. Ça a bien marché pour vous.
Je ne comprends pas pourquoi le temps d'exécution est si élevé. J'ai environ 235000 ms - à une fréquence de noyau beaucoup plus basse (2,8 GHz).
Soit votre mémoire est faible, soit elle est très lente, soit le CPU est en permanence surchargé par une tâche terriblement gourmande en ressources. Ce n'est pas clair. Le chiffre du ratio temps est anormalement élevé.
Le Conseiller Expert est en train de s'optimiser, il est un peu chargé en cores.
Mémoire de 16 Go
Alors tout est clair. Essayez d'exécuter le même script lorsque l'optimisation est terminée. Il charge probablement tous les noyaux.
Il est très intéressant d'examiner une unité centrale de traitement de haut niveau lorsque rien d'autre ne s'y oppose.