An die Weltverschwörer und völligen Paranoiker, oder einfach an diejenigen, die gerne den Preis kontrollieren, seid ihr willkommen! ;) - Seite 7

 
Mathemat:
Ja, du prahlst mit deinen GPGPU-Berechnungen. Irgendeine Beschleunigung?

Woher kommt die Beschleunigung des Notebooks? Das Kopieren in den Puffer benötigt mehr Zeit als das Berechnen.

Es ist nur ein Testlauf. Es kommt zu einer Beschleunigung, wenn die Berechnung relativ schwer ist.

Ich füge gerade ein Skript hinzu, um die Korrelation mit einem bestimmten Satz von Mustern (512 Muster parallel) für die gesamte Historie zu berechnen, und ich denke, es wird einen hundertfachen Gewinn geben (nach Schätzung). Die Autopsie wird zeigen, wie es wirklich sein wird.

 

Und außerdem will ich nicht angeben, sondern OpenCL populär machen. So! :)

Es macht auch Spaß.

 
Mathemat:

Wie ist das - irgendeine Beschleunigung?

Das ist von yazzy!!!

2012.03.02 01:15:10     Tester-512_Test_001 (EURUSD,M1) СPU time = 7223 ms
2012.03.02 01:15:10     Tester-512_Test_001 (EURUSD,M1) Result on Cpu МахResult==1.01871 at 49 pass
2012.03.02 01:15:03     Tester-512_Test_001 (EURUSD,M1) GPU time = 312 ms
2012.03.02 01:15:03     Tester-512_Test_001 (EURUSD,M1) Result on Gpu МахResult==1.01871 at 49 pass
2012.03.02 01:15:02     Tester-512_Test_001 (EURUSD,M1) OpenCL init OK!

Das Ergebnis ist das gleiche (Gültigkeitsprüfung), aber die Zeit ist sehr unterschiedlich. In diesem Fall ist es das 23-fache der Differenz. Wie auch immer - es hat sich gelohnt.

Ich habe ein Einschicht-Perzeptron durch eine Historie von 144000 Takten laufen lassen, 512 Durchläufe in einem Durchgang. Es hat mir gefallen. ;)

 
MetaDriver: In diesem Fall ist es das 23-fache der Differenz. Es hat sich auf jeden Fall gelohnt.
Das ist großartig!
 
Mathemat:
Das ist ziemlich cool.

Wie sich herausstellt, sind die üblichen Zeiten sogar etwas besser. Hier ist ein Blick auf die Wiederholungen:

2012.03.02 01:26:59     Tester-512_Test_001 (EURUSD,M1) СPU time = 7238 ms
2012.03.02 01:26:59     Tester-512_Test_001 (EURUSD,M1) Result on Cpu МахResult==1.80004 at 320 pass
2012.03.02 01:26:51     Tester-512_Test_001 (EURUSD,M1) GPU time = 281 ms
2012.03.02 01:26:51     Tester-512_Test_001 (EURUSD,M1) Result on Gpu МахResult==1.80004 at 320 pass
2012.03.02 01:26:51     Tester-512_Test_001 (EURUSD,M1) OpenCL init OK!
2012.03.02 01:26:48     Tester-512_Test_001 (EURUSD,M1) СPU time = 7270 ms
2012.03.02 01:26:48     Tester-512_Test_001 (EURUSD,M1) Result on Cpu МахResult==1.48404 at 207 pass
2012.03.02 01:26:41     Tester-512_Test_001 (EURUSD,M1) GPU time = 281 ms
2012.03.02 01:26:41     Tester-512_Test_001 (EURUSD,M1) Result on Gpu МахResult==1.48404 at 207 pass
2012.03.02 01:26:41     Tester-512_Test_001 (EURUSD,M1) OpenCL init OK!

25-mal und öfter. Sogar sehr aha. :)

Das war ein Neuron mit 8 Eingängen. Jetzt sehen Sie sich die 16 Einträge an:

2012.03.02 01:32:32     Tester-512_Test_001 (EURUSD,M1) СPU time = 14618 ms
2012.03.02 01:32:32     Tester-512_Test_001 (EURUSD,M1) Result on Cpu МахResult==1.22936 at 78 pass
2012.03.02 01:32:18     Tester-512_Test_001 (EURUSD,M1) GPU time = 327 ms
2012.03.02 01:32:18     Tester-512_Test_001 (EURUSD,M1) Result on Gpu МахResult==1.22936 at 78 pass
2012.03.02 01:32:17     Tester-512_Test_001 (EURUSD,M1) OpenCL init OK!
2012.03.02 01:32:01     Tester-512_Test_001 (EURUSD,M1) СPU time = 14618 ms
2012.03.02 01:32:01     Tester-512_Test_001 (EURUSD,M1) Result on Cpu МахResult==1.21085 at 143 pass
2012.03.02 01:31:46     Tester-512_Test_001 (EURUSD,M1) GPU time = 327 ms
2012.03.02 01:31:46     Tester-512_Test_001 (EURUSD,M1) Result on Gpu МахResult==1.21085 at 143 pass
2012.03.02 01:31:46     Tester-512_Test_001 (EURUSD,M1) OpenCL init OK!

Das ist der 45-fache Unterschied.

Das ist richtig - je schwerer die Berechnung, desto geringer der konstante Overhead (Hin- und Herschicken von Arrays).

 

Und das sind 1024 Durchgänge parallel:

2012.03.02 01:45:04     Tester-512_Test_001 (EURUSD,M1) СPU time = 29282 ms
2012.03.02 01:45:04     Tester-512_Test_001 (EURUSD,M1) Result on Cpu МахResult==0.73802 at 802 pass
2012.03.02 01:44:35     Tester-512_Test_001 (EURUSD,M1) GPU time = 327 ms
2012.03.02 01:44:35     Tester-512_Test_001 (EURUSD,M1) Result on Gpu МахResult==0.73802 at 802 pass
2012.03.02 01:46:36     Tester-512_Test_001 (EURUSD,M1) СPU time = 29265 ms
2012.03.02 01:46:36     Tester-512_Test_001 (EURUSD,M1) Result on Cpu МахResult==1.58618 at 821 pass
2012.03.02 01:46:06     Tester-512_Test_001 (EURUSD,M1) GPU time = 328 ms
2012.03.02 01:46:06     Tester-512_Test_001 (EURUSD,M1) Result on Gpu МахResult==1.58618 at 821 pass
2012.03.02 01:46:06     Tester-512_Test_001 (EURUSD,M1) OpenCL init OK!

Hinweis: Auf der GPU gibt es überhaupt keinen Unterschied (es gibt 1280 Kerne, d. h. die gesamte Aufgabe passt in einen Durchgang).

Die Prüfung der CPU erfolgt natürlich sequentiell.

Das geforderte Hundertfache wird also praktisch erreicht: Die Differenz beträgt das 89,5474-fache (!)

 

Ja, schwere In-Loop-Berechnungen sind für OpenCL am besten geeignet.

Haben Sie oder jemand, den Sie kennen, nicht einen A8-3850-basierten Computer herumliegen? Er verfügt übrigens über 400 (integrierte) Grafikpipelines!

 
Mathemat:

Haben Sie oder jemand, den Sie kennen, nicht einen A8-3850-basierten Computer in der Nähe? Es hat übrigens 400 GPUs (integriert)!

Gibt es irgendwelche Unklarheiten? Hier ist http://kazan.kompiko.info/priceshop.php?desc_id=111255

Scheint nichts Besonderes zu sein, nur vier Kerne, kein Wort über das Förderband.

 

Sie können die Beschreibung des Felsens hier lesen. Ich bezweifle stark, dass dieser Stein (oder vielmehr sein GPU-Teil) OpenCL nicht unterstützt.

Aus der Sicht der CPU ist der Stein nicht sehr gut. Aber er verfügt über ein ordentliches integriertes Video und in "guten" Fällen kann man mit einer zehnfachen Beschleunigung rechnen, ohne dass diskrete Videomonster verwendet werden müssen. Ist das nicht ein sparsamer Supercomputer?

Und "fünf" ist so, und es stellt sich heraus, dass die Macht der Multicore-Stein ist fast nutzlos. Natürlich ohne die Optimierung: Was macht es für Sie aus, wie viele Kerne Sie haben, 4 oder 6, wenn die Optimierung 24 Stunden am Tag laufen muss? Lassen Sie Cloud sogar auf einem nicht ganz so schnellen, ehrlichen Dual Core Celeron G530 laufen...

P.S. Ich bin kein AMD-Fan, wenn überhaupt. Ich versuche nur auszurechnen, wohin dieses ganze AMD-Durcheinander letztendlich führen wird.

 

Volodya, bitte führen Sie dieses Skript aus und melden Sie die Ergebnisse.

Vielen Dank an MQL5 für die Hilfe.

Dateien: