Hier sehen Sie, was Sie mit OpenCL direkt in MetaTrader 5 ohne DLLs machen können - Seite 2

 
Renat Fatkhullin:

Wir bereiten eine OpenCL-Personalbibliothek für Mathematik und Rendering vor, was einige Wochen in Anspruch nehmen wird. Es wird erstaunlich schnell und schön sein.

Werfen Sie in der Zwischenzeit einen Blick auf die aktualisierte Grafikbibliothek zum Rendern von wissenschaftlichen Diagrammen.

Geht es also darum, Programme in MetaEditor zu schreiben, oder sind sie bereits vorbereitet und es muss nur noch ein Skript auf die Grafik geworfen werden?
 

Bei mir hat es auch nicht angefangen:

2016.12.10 07:00:47.388 Seascape (EURUSD,M1)    OpenCL: GPU device 'Redwood' selected
2016.12.10 07:00:47.418 Seascape (EURUSD,M1)    
2016.12.10 07:00:47.418 Seascape (EURUSD,M1)    OpenCL program create failed
2016.12.10 07:00:57.263 Seascape (EURUSD,M1)    OpenCL: GPU device 'Redwood' selected
2016.12.10 07:00:57.285 Seascape (EURUSD,M1)    
2016.12.10 07:00:57.285 Seascape (EURUSD,M1)    OpenCL program create failed
 

OpenCL ist sehr gut, man kann mit dieser Technologie sehr schnell neuronale Netze trainieren, hunderte (tausende) Male schneller als auf einem normalen Prozessor.

prostotrader:
2016.12.10 03:57:08.218 Seascape (GOLD-12.16,H1)        OpenCL program create failed
2016.12.10 03:57:36.695 Seascape (GOLD-12.16,H1)        OpenCL: GPU device 'GeForce GTX 970' selected
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        <kernel>:188:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)           uint b=(uint)(res[2]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        <kernel>:189:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)           uint g=(uint)(res[1]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        <kernel>:190:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)           uint r=(uint)(res[0]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        
2016.12.10 03:57:36.730 Seascape (GOLD-12.16,H1)        OpenCL program create failed

Dies kann behoben werden, indem diese Zeilen im Skript gefunden werden -

                    "   uint b=(uint)(res[2]*255);\r\n"
                    "   uint g=(uint)(res[1]*255);\r\n"
                    "   uint r=(uint)(res[0]*255);\r\n"

und ersetzen sie durch -

                    "   uint b=(uint)(res.z*255);\r\n"
                    "   uint g=(uint)(res.y*255);\r\n"
                    "   uint r=(uint)(res.x*255);\r\n"
 

Ein paar Fragen:

  1. Wenn mehrere EAs auf demselben Terminal laufen, können sie dann OpenCL gemeinsam und unabhängig voneinander nutzen?
  2. Dasselbe gilt für mehrere Terminals.

 
Renat Fatkhullin:

Tausende von GPU-Kernen können mit OpenCL verwendet werden, um Berechnungen um das Hundertfache (mehrere Hundert) zu beschleunigen.

Dies ist genau das, was im Handel benötigt wird und was den Übergang zu Techniken ermöglichen wird, die um Größenordnungen mehr Rechenressourcen erfordern.

In MQL4 graben Sie mit einer Schaufel, während Sie in MQL5 mit OpenCL einen Traktor bekommen, was die Leistung angeht. Um GPU-Berechnungen für die breite Masse zugänglich zu machen, bereiten wir zusätzlich zu den bestehenden Bibliotheken neue mathematische Bibliotheken vor.

Sie brauchen auch echte Beispiele dafür, was zum Beispiel in einem EA realistisch parallelisiert werden kann.

Kann ich bei der Optimierung Code mit OpenCL verwenden?

 
Renat Fatkhullin:

Mit OpenCL können Sie Tausende von GPU-Kernen verwenden, um mathematische Berechnungen um das Hundertfache (mehrere Hundert) zu beschleunigen.

Dies ist genau das, was im Handel benötigt wird und was den Übergang zu Techniken ermöglichen wird, die um Größenordnungen mehr Rechenressourcen erfordern.

In MQL4 graben Sie mit einem Spaten und in MQL5 mit OpenCL bekommen Sie einen Traktor in Bezug auf die Leistung. Um GPU-Berechnungen für die breite Masse zugänglich zu machen, bereiten wir zusätzlich zu den bestehenden Bibliotheken neue mathematische Bibliotheken vor.

Wird es jemals etwas Ähnliches für MQL4 geben? Oder zumindest die Verwendung von Multithreading, denn Multicore-Prozessoren sind von geringem Nutzen...

Sie können Spiele mit solchen Grafiken auf dem Client-Terminal machen, aber ich frage mich, ob die Händler spielen werden, anstatt zu handeln )

 
Alexander Nikolaev:

Wird es jemals etwas Ähnliches für MQL4 geben? Oder zumindest die Verwendung von Multithreading, denn Multicore-Prozessoren sind von geringem Nutzen...

Ich weiß nicht, ob die Händler auf dem Terminal mit einer solchen Grafik Spiele spielen werden, aber ich frage mich, ob sie Spiele spielen werden, anstatt zu handeln.)

Was sind Ihre Aufgaben, denen ein Kern fehlt?

Sie können Kopien von Terminals entsprechend der Anzahl der Kerne ausführen, um sie zu optimieren.

 
-Aleks-:

Welche Art von Aufgabe haben Sie, für die ein einziger Kern fehlt?

Sie können Kopien der Terminals ausführen, die der Anzahl der zu optimierenden Kerne entsprechen.

Nun, wenn nicht nur 8-16 CPU-Kerne, sondern Tausende von CPU-Kernen für die Optimierung verwendet werden, wäre das eine Leistungsexplosion. Natürlich nur, wenn eine solche Möglichkeit auch umgesetzt wird.
 
Vitalie Postolache:
Nun, wenn nicht nur 8-16 CPU-Kerne, sondern Tausende von CPU-Kernen für die Optimierung verwendet werden, wäre das eine Leistungsexplosion. Natürlich nur, wenn eine solche Möglichkeit auch umgesetzt wird.
Renat hat schon lange gesagt, dass OpenCL im MT5-Tester funktioniert, aber nur auf einem lokalen Rechner, nicht in der Cloud. Verwenden Sie es also auch jetzt.
 

Wunderschön!!!

Sogar darüber nachgedacht, wie es später genutzt werden könnte - Live-Nachrichten direkt auf dem Chart, oder ein eigener Kanal mit Analysen oder Schulungen (Webinare)

Entwickler Gut gemacht.

Grund der Beschwerde: