OpenCL: interne Implementierungstests in MQL5 - Seite 57

 
Wie sich in meinem Fall gezeigt hat, müssen Sie sie überhaupt nicht löschen. Es genügt, das Unnötige in der Registry zu deaktivieren.
 
joo: Wie mein Fall gezeigt hat, ist eine Deinstallation nicht erforderlich. Es genügt, unnötige Dinge in der Registrierung zu deaktivieren.

In der Tat, ja.

Andrey, zeigen Sie mir wenigstens die Ergebnisse auf Ihrem i5 - auf einer sauberen CPU. Ich werde mich für dich freuen.

Dateien:
 
2012.04.21 21:22:59     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       CpuTime/GpuTime = 32.46979038224414
2012.04.21 21:22:59     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       Result on Cpu МахResult==4.17098 at 469 pass
2012.04.21 21:22:59     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       Соunt inticators = 16; Count history bars = 50000; Count pass = 512
2012.04.21 21:22:59     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       CPU time = 26333 ms
2012.04.21 21:22:33     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       Result on Gpu МахResult==4.17098 at 469 pass
2012.04.21 21:22:33     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       Соunt inticators = 16; Count history bars = 50000; Count pass = 512
2012.04.21 21:22:33     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       GPU time = 811 ms
2012.04.21 21:22:32     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       OpenCL init OK!


2012.04.21 21:24:18     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       CpuTime/GpuTime = 3.06352340030194
2012.04.21 21:24:18     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       Result on Cpu МахResult==3.85664 at 271 pass
2012.04.21 21:24:18     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       Соunt inticators = 16; Count history bars = 50000; Count pass = 512
2012.04.21 21:24:18     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       CPU time = 26380 ms
2012.04.21 21:23:52     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       Result on Gpu МахResult==3.85664 at 271 pass
2012.04.21 21:23:52     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       Соunt inticators = 16; Count history bars = 50000; Count pass = 512
2012.04.21 21:23:52     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       GPU time = 8611 ms
2012.04.21 21:23:43     ParallelTester_00-02-416 x7x3j (GBPUSD,H4)       OpenCL init OK!
 

Nein, nicht auf diese, sondern auf die, die ich in meinem letzten Beitrag angehängt habe. Genau das ist der Fall. Ich poste mein Ergebnis zu diesem Skript:

2012.04.21 19:32:43    ParallelTester_00-01x (EURUSD,H1)    CpuTime/GpuTime = 83.99644128113879
2012.04.21 19:32:43    ParallelTester_00-01x (EURUSD,H1)    Result on Cpu МахResult==1.26619 at 856 pass
2012.04.21 19:32:43    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.21 19:32:43    ParallelTester_00-01x (EURUSD,H1)    CPU time = 23603 ms
2012.04.21 19:32:20    ParallelTester_00-01x (EURUSD,H1)    Result on Gpu МахResult==1.26619 at 856 pass
2012.04.21 19:32:20    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.21 19:32:20    ParallelTester_00-01x (EURUSD,H1)    GPU time = 281 ms
2012.04.21 19:32:19    ParallelTester_00-01x (EURUSD,H1)    OpenCL init OK!
2012.04.21 19:32:19    ParallelTester_00-01x (EURUSD,H1)    CLGetInfoInteger() returned 1

Prozessor:

2012.04.21 17:51:14    OpenCL    CPU: Intel(R) Corporation  Intel(R) Pentium(R) CPU G840 @ 2.80GHz with OpenCL 1.1 (2 units, 2800 MHz, 8040 Mb, version 1.1)

Dateien:
 
 2012.04.21 21:38:41	ParallelTester_00-01x__1 (GBPUSD,H4)	CpuTime/GpuTime = 118.7051282051282
2012.04.21 21:38:41	ParallelTester_00-01x__1 (GBPUSD,H4)	Result on Cpu МахResult==1.06083 at 993 pass
2012.04.21 21:38:41	ParallelTester_00-01x__1 (GBPUSD,H4)	Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.21 21:38:41	ParallelTester_00-01x__1 (GBPUSD,H4)	CPU time = 18518 ms
2012.04.21 21:38:23	ParallelTester_00-01x__1 (GBPUSD,H4)	Result on Gpu МахResult==1.06083 at 993 pass
2012.04.21 21:38:23	ParallelTester_00-01x__1 (GBPUSD,H4)	Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.21 21:38:23	ParallelTester_00-01x__1 (GBPUSD,H4)	GPU time = 156 ms
2012.04.21 21:38:23	ParallelTester_00-01x__1 (GBPUSD,H4)	OpenCL init OK!
2012.04.21 21:38:22	ParallelTester_00-01x__1 (GBPUSD,H4)	CLGetInfoInteger() returned 2

Es ist seltsam, Ihr Dateiname scheint zu sein

paralleltester_00-01x.mq5, aber gespeichert als ParallelTester_00-01x__1.mq5


2012.04.21 08:31:11     OpenCL  CPU: GenuineIntel  Intel(R) Core(TM) i5-2500 CPU @ 3.30 GHz with OpenCL 1.2 (4 units, 3399 MHz, 8174 Mb, version 2.0 (sse2,avx))
 
joo:

Es ist seltsam, Ihr Dateiname scheint zu sein

paralleltester_00-01x.mq5 aber gespeichert als ParallelTester_00-01x__1.mq5

Das ist nichts Ungewöhnliches. Es ist nur so, dass die Datei mit einem solchen Namen bereits existiert und deshalb __1 hinzugefügt wird. Wo ist der Test für ParallelTester_00-01x__1.mq5, Andrew?

Ich sehe, dass sie sehr gut ist. Etwas schlechter als ich erwartet hatte (ich hatte auf 140-150 gehofft), aber immer noch sehr gut. Im Prinzip ist eine Schwankung dieses Verhältnisses innerhalb von 20-30 % normal (vor allem, wenn die GPU-Zeit gering ist). Übrigens, wenn Sie, sagen wir, Folgendes tun:

#define CountPass  1280 * 10

dann können Sie mit einem weiteren Rekord für das Verhältnis CpuTime/GpuTime rechnen. Ihr "theoretisches Limit" liegt bei etwa 170-180. Bei mir jedenfalls waren es fast 90, und bei Ihnen dürfte es doppelt so viel sein.

 

Mathemat:

#define CountPass 1280 * 10

dann können Sie mit einem weiteren Rekord für das Verhältnis CpuTime/GpuTime rechnen. Ihr "theoretisches Limit" liegt bei etwa 170-180. Bei mir jedenfalls waren es fast 90, und bei Ihnen dürfte es doppelt so viel sein.


Dies ist bei 1280*10:

2012.04.21 23:31:24     ParallelTester_00-01 x__1 (EURUSD,M5)    GPU time = 344 ms
2012.04.21 23:31:24     ParallelTester_00-01 x__1 (EURUSD,M5)    Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.21 23:31:24     ParallelTester_00-01 x__1 (EURUSD,M5)    Result on Gpu МахResult==1.12991 at 9491 pass
2012.04.21 23:34:30     ParallelTester_00-01 x__1 (EURUSD,M5)    CPU time = 185875 ms
2012.04.21 23:34:30     ParallelTester_00-01 x__1 (EURUSD,M5)    Соunt indicators = 16; Count history bars = 144000; Count pass = 12800
2012.04.21 23:34:30     ParallelTester_00-01 x__1 (EURUSD,M5)    Result on Cpu МахResult==1.12991 at 9491 pass
2012.04.21 23:34:30     ParallelTester_00-01 x__1 (EURUSD,M5)    CpuTime/GpuTime = 540.3343023255814

Und bei 1280*128 war ich es einfach leid, zu warten und habe das Skript zwangsweise beendet:

2012.04.21 23:40:22     ParallelTester_00-01 x__1 (EURUSD,M5)    GPU time = 2013 ms
2012.04.21 23:40:22     ParallelTester_00-01 x__1 (EURUSD,M5)    Соunt indicators = 16; Count history bars = 144000; Count pass = 131072
2012.04.21 23:40:22     ParallelTester_00-01 x__1 (EURUSD,M5)    Result on Gpu МахResult==1.70906 at 99682 pass
2012.04.21 23:48:48     ParallelTester_00-01 x__1 (EURUSD,M5)    Abnormal termination
 
Ich bezog mich auf Berechnungen mit einer reinen CPU. Natürlich sind die Zahlen bei einer diskreten Karte höher.
 
Gibt es Neuigkeiten zur Ausführung von Berechnungen mit OpenCL?
 
casinonsk: Gibt es Neuigkeiten über die Einführung von OpenCL-Berechnungen?

Nun, endlich, wir haben auf Sie gewartet. Wenn Sie bereit sind zu experimentieren, installieren Sie Intel OpenCL Runtime (siehe Link für Anweisungen).

Führen Sie das Skript aus, ohne etwas daran zu ändern, und posten Sie das Protokoll auf der Registerkarte "Experten", so wie es Ihre früheren Kollegen getan haben. Die Ausführung des Skripts auf Ihrem Edelstein dauert etwa 3 Minuten, haben Sie etwas Geduld. Gleichzeitig werden wir herausfinden, wie OpenCL auf dem coolsten Barebone Sandy Bridge Stein läuft.

Wenn Sie nicht die Geduld haben oder glauben, dass es Ihre Fähigkeiten übersteigt, ist das in Ordnung.

P.S. Der Zweck dieses Skripts ist es, zu sehen, was eine nackte CPU ohne diskrete Videodragons leisten kann. Ich vermute, dass dieses Skript mit ordnungsgemäß eingefügter Intel Runtime eine Beschleunigung von etwa 200 oder sogar noch etwas mehr haben wird.

Dateien:
Grund der Beschwerde: