OpenCL: interne Implementierungstests in MQL5 - Seite 48

 
MetaDriver: Aber jetzt lasse ich es mit 4096 Bienen laufen. Die CPU wird es in fünf Minuten zählen.

Und lassen Sie wenigstens nach ex5 andere ihren Spaß haben.

Ein neuer Build erfordert eine Neukompilierung (natürlich wegen CLContextCreate()). Und bevor Sie auch ex5 gebucht haben.

 
Mathemat:

Und lassen Sie wenigstens nach der Ex5 andere ihren Spaß haben.

Der neue Build muss neu kompiliert werden (natürlich wegen CLContextCreate()). Und Sie haben auch schon ex5 gepostet.

GUT.

2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CpuTime/GpuTime = 2330.657142857143
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Ergebnis auf Cpu MachResult==4.02701 bei 1529 Durchlauf
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Anzahl der Indikatoren = 16; Anzahl der historischen Balken = 50.000; Anzahl der Durchläufe = 4096
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CPU-Zeit = 326292 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Ergebnis auf Gpu MachResult==4.02701 bei 1529 pass
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Anzahl der Indikatoren = 16; Anzahl der historischen Balken = 50.000; Anzahl der Durchläufe = 4096
2012.04.08 01:58:07 ParallelTester_00-(16x7x3) (USDJPY,M30) GPU-Zeit = 140 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) OpenCL init OK!

 
MetaDriver:

GUT.

2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CpuTime/GpuTime = 2330.657142857143
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Ergebnis auf Cpu MachResult==4.02701 bei 1529 pass
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Anzahl der Indikatoren = 16; Anzahl der historischen Balken = 50.000; Anzahl der Durchläufe = 4096
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CPU-Zeit = 326292 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Ergebnis auf Gpu MachResult==4.02701 bei 1529 pass
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Anzahl der Indikatoren = 16; Anzahl der historischen Balken = 50.000; Anzahl der Durchläufe = 4096
2012.04.08 01:58:07 ParallelTester_00-(16x7x3) (USDJPY,M30) GPU-Zeit = 140 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) OpenCL init OK!


Erstaunlich! Bekenne, von welchem Planeten du kommst. Sie sprechen die gleiche Sprache mit Ihren Entwicklern. Sie führen Berechnungen mit Höchstgeschwindigkeit durch. Es gibt einen Grund für all dies. :))))
 
MetaDriver: GUT.

Es ist ein seltsames Geschäft. Natürlich keine Beschwerden über Sie. Aber hier ist die Sache.

Ich führe Ihr Skript aus und erhalte folgendes Ergebnis:

2012.04.08 03:11:28    ParallelTester_00-02-d16x7x3w_new (EURUSD,H1)    OpenCL not found.


Ich führe Ihr allererstes historisches Skript aus (ich habe es mit den neuesten CLContextCreate()-Änderungen optimiert):

2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    CpuTime/GpuTime = 24.39193381592554
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    Result on Cpu МахResult==1.20315 at 21 pass
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    CPU time = 23587 ms
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    Result on Gpu МахResult==1.20315 at 21 pass
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    GPU time = 967 ms
2012.04.08 03:12:36    ParallelTester_00-01x (EURUSD,H1)    OpenCL init OK!

Wunderbar... Was soll man tun, wo soll man schreiben? Muss ich zum Service Desk zurückkehren?

P.S. Übrigens sollten Sie die GPU-Berechnungen nicht so schnell machen, mindestens 300-400 ms. Vielleicht haben Sie eine echte Beschleunigung von 100500 (erinnern Sie sich, es ist die einzige Zahl, die größer als unendlich ist!) und wissen nichts davon? Ich habe nur den Verdacht, dass 140 ms eine der wenigen Zahlen ist, die in GetTickCount() nicht kleiner sein können (und selbst wenn es passiert, ist es selten).

 
tol64:
Das ist erstaunlich! Sagen Sie uns, von welchem Planeten Sie kommen. Sie sprechen die gleiche Sprache wie Ihre Entwickler. Sie machen superschnelle Berechnungen. Es gibt einen Grund für all dies. :))))
Ich weiß nicht. In Kasan schreiben alle so.
 
MetaDriver:
Ich weiß es nicht. Hier in Kasan schreiben sie es alle so.
Und das ist richtig so.
 
Mathemat:

1. eine seltsame Angelegenheit. Natürlich keine Beschwerden über Sie. Aber hier ist die Sache.

Wenn ich Ihr Skript ausführe, sieht es folgendermaßen aus:

2012.04.08 03:11:28    ParallelTester_00-02-d16x7x3w_new (EURUSD,H1)    OpenCL not found.

2. p.s. Übrigens, stellen Sie sicher, dass die Berechnungen auf der GPU nicht so schnell waren, mindestens 300-400 ms. Vielleicht ist Ihr tatsächlicher Geschwindigkeitszuwachs 100500 (denken Sie daran, dass dies die einzige Zahl ist, die größer als unendlich ist!) und Sie wissen es nicht? Ich habe nur den Verdacht, dass 140 ms eine der wenigen Zahlen ist, die GetTickCount() nie unterschreitet (und wenn doch, dann nur selten).

1. probieren Sie die Version im Trailer aus. Ich habe sie mit CLContextCreate(CL_DEVICE_ANY) neu kompiliert;

2) Nein, nein. 140ms sind in Ordnung. (Und noch viel mehr :))

zy. Die Beschleunigung wird durch Vektoroperationen in OpenCL erreicht. Rauchen Sie das Handbuch - es fügt sich ein. ;)

 
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    CpuTime/GpuTime = 162.8265625
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Result on Cpu МахResult==4.07621 at 824 pass
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    CPU time = 208418 ms
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Result on Gpu МахResult==4.07621 at 824 pass
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    GPU time = 1280 ms
2012.04.08 09:12:21    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    OpenCL init OK!
 
joo:

Radeon regiert!!!

;)

 
MetaDriver:

Radeon regiert!!!

;)

Du hast eine Menge Pässe bekommen. :)