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

 

Mettez la mémoire en mode double canal, résultat : 39x d'accélération au lieu de 29x.

2012.03.05 09:45:56     ParallelTester_00-01 x (EURUSD,D1)       OpenCL init OK!
2012.03.05 09:45:57     ParallelTester_00-01 x (EURUSD,D1)       GPU time = 1123 ms
2012.03.05 09:45:57     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 09:45:57     ParallelTester_00-01 x (EURUSD,D1)       Result on Gpu МахResult==1.35098 at 174 pass
2012.03.05 09:46:41     ParallelTester_00-01 x (EURUSD,D1)       CPU time = 43914 ms
2012.03.05 09:46:41     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 09:46:41     ParallelTester_00-01 x (EURUSD,D1)       Result on Cpu МахResult==1.35098 at 174 pass
2012.03.05 09:46:41     ParallelTester_00-01 x (EURUSD,D1)       CpuTime/GpuTime = 39.10418521816563

J'ai fait le test plusieurs fois hier pour être sûr, aujourd'hui aussi, les résultats étaient proches.

Ce qui est étrange, c'est que lorsque le mode double canal est activé, le CPU a donné une augmentation de 0,3 %, mais le GPU a donné une augmentation de 25 %.

 
tol64:

J'ai quelque chose en zéros. Qu'est-ce que cela signifie ? Sur cette ligne :Result on Gpu MachResult==0.0 at 0 pass

Peut-être n'ai-je pas assez de mémoire, ou peut-être dois-je diminuer un peu CountBars et/ou CountPass ?
 
fyords:

Mettez la mémoire en mode double canal, résultat : 39x d'accélération au lieu de 29x.

J'ai fait le test plusieurs fois hier pour être sûr, aujourd'hui aussi, les résultats étaient proches.

Ce qui est étrange, c'est que le CPU a montré une accélération de 0,3% en mode double canal, mais que le GPU a montré une accélération de 25%.

En fait, il n'y a rien d'étrange à cela. Dans le travail (pas le travail avec les graphiques, à savoir les calculs) avec le goulot d'étranglement du GPU est la RAM (il ne suffit pas d'effectuer des calculs sur le GPU, vous devez également obtenir les résultats de la carte graphique en RAM). La RAM est devenue plus rapide - les résultats sur le GPU se sont améliorés.

Dans le cas du CPU, tout est déjà stocké dans la mémoire vive et il n'est pas nécessaire de faire des allers-retours entre les résultats.

D'où une conclusion éloquente : si vous voulez des calculs rapides par le GPU, installez de la mémoire rapide.

 
Cela explique tout, merci pour la clarification.
 
fyords:
Peut-être qu'il n'y a pas assez de mémoire, peut-être que CountBars ou/et CountPass devraient être réduits un peu ?

Oui, c'est vrai. C'est comme ça que ça s'est passé :

...ce qui est également agréable. ))

//---

Si j'ajoute des CountBars, l'image clignote et disparaît pendant les calculs.

 
2012.03.05 12:40:51     Terminal        CPU: GenuineIntel Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10 GHz with OpenCL 1.1 (2 units, 2094 MHz, 2048 Mb, version 2.0)

Видеоадаптер    ATI Mobility Radeon HD 545 v  (256 Мб)

2012.03.05 08:59:28     ParallelTester_00-01 x (GBPUSDL,H1)      CpuTime/GpuTime = 19.70338983050847
2012.03.05 08:59:28     ParallelTester_00-01 x (GBPUSDL,H1)      Result on Cpu МахResult==1.33921 at 366 pass
2012.03.05 08:59:28     ParallelTester_00-01 x (GBPUSDL,H1)      Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 08:59:28     ParallelTester_00-01 x (GBPUSDL,H1)      CPU time = 46500 ms
2012.03.05 08:58:41     ParallelTester_00-01 x (GBPUSDL,H1)      Result on Gpu МахResult==1.33921 at 366 pass
2012.03.05 08:58:41     ParallelTester_00-01 x (GBPUSDL,H1)      Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 08:58:41     ParallelTester_00-01 x (GBPUSDL,H1)      GPU time = 2360 ms
2012.03.05 08:58:39     ParallelTester_00-01 x (GBPUSDL,H1)      OpenCL init OK!
 

La conclusion du sujet est donc simple, peu importe la vitesse de votre CPU, ce n'est qu'un poz pour la carte graphique :)

Quoi qu'il en soit, la carte vidéo rendra le processeur au moins 10 fois plus rapide sur les anciens modèles vidéo et 100 fois plus rapide sur les plus récents.

2012.03.05 14:31:23     ParallelTester_00-01 x (EURUSD,M15)      CpuTime/GpuTime = 364.5847953216374
2012.03.05 14:31:23     ParallelTester_00-01 x (EURUSD,M15)      Result on Cpu МахResult==1.01643 at 577 pass
2012.03.05 14:31:23     ParallelTester_00-01 x (EURUSD,M15)      Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 14:31:23     ParallelTester_00-01 x (EURUSD,M15)      CPU time = 62344 ms
2012.03.05 14:30:21     ParallelTester_00-01 x (EURUSD,M15)      Result on Gpu МахResult==1.01643 at 577 pass
2012.03.05 14:30:21     ParallelTester_00-01 x (EURUSD,M15)      Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 14:30:21     ParallelTester_00-01 x (EURUSD,M15)      GPU time = 171 ms
2012.03.05 14:30:21     ParallelTester_00-01 x (EURUSD,M15)      OpenCL init OK!
CPU: Intel P4 3 GHz, 2 kernel, RAM 3 Gb, 32 bits
GPU: NVIDIA Corporation GeForce GT 430 with OpenCL 1.1 (2 units, 1400 MHz, 1023 Mb, version 295.73)

Dans mon cas, en raison de la lenteur des cœurs du CPU, l'accélération est de 364 fois.

 
Urain:

La conclusion du sujet est donc simple, peu importe la vitesse de votre CPU, ce n'est qu'un poz pour la carte graphique :)

Quoi qu'il en soit, votre carte graphique surpassera votre CPU au moins 10 fois plus vite sur les anciens modèles vidéo et 100 fois plus vite sur les plus récents.

Dans mon cas, en raison de la lenteur des cœurs du CPU, la différence est de 364 fois.

Wow ! C'est un record ! )))

//---

Je vais essayer plus tard de mettre les derniers pilotes (295.73), peut-être que ça ira un peu mieux. ))

 
Urain: Il n'en reste pas moins qu'un vidya surpasserait le CPU d'au moins un facteur 10, sur les anciens modèles de vidéo et d'un facteur 100 sur les plus récents.

Intéressant. La carte fyords est plus puissante (GeForce GT 440) et le temps de calcul est un ordre de grandeur plus long.

Wow , c'est un record ! )))

Eh bien oui, c'est effrayant d'imaginer si i286 serait à la place de cette pierre et si un monstre moderne serait à la place de la carte. Tout ce que vous obtiendrez, ou même plus par plusieurs fois.

P.S. Quelqu'un d'autre a un système sans carte graphique discrète comme moi ?

 

2012.03.05 17:43:16 Terminal CPU : GenuineIntel Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz avec OpenCL 1.1 (4 unités, 3092 MHz, 4008 Mb, version 2.0)

Mathemat:

...

P.S. Quelqu'un d'autre a un système sans graphiques discrets comme moi ?

2012.03.05 17:43:16 Terminal CPU : GenuineIntel Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz avec OpenCL 1.1 (4 unités, 3092 MHz, 4008 Mb, version 2.0)

2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD,M1) CpuTime/GpuTime = 0.734767766287369
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD,M1) Résultat sur Cpu MachResult==1.27347 à 1125 pass
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD, M1) Nombre d'indicateurs = 16 ; Nombre de barres d'historique = 144000 ; Nombre de succès = 1280
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD, M1) Temps CPU = 21309 ms
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD,M1) Résultat sur Gpu MachResult==1.27347 à 1125 pass
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD, M1) Nombre d'indicateurs = 16 ; Nombre de barres d'historique = 144000 ; Nombre de succès = 1280
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD, M1) Temps GPU = 29001 ms
2012.03.05 17:44:33 ParallelTester_00-01x (EURUSD,M1) OpenCL init OK !

:(((

Peut-être ai-je des "grenades du mauvais système" ? (Je veux dire la version AMD SDK)