Hier sehen Sie, was Sie mit OpenCL direkt in MetaTrader 5 ohne DLLs machen können - Seite 18
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Renat Fatkhullin, wie kann ich mit Ihnen Kontakt aufnehmen, um die Möglichkeit des Schreibens in MQL5+OpenCL zu besprechen. ich muss die Rechenleistung von Videokarten nutzen. wenn ich richtig verstehe, dann mit einem Beispiel aus der Praxis: der geschriebene Roboter optimiert nur 11 Parameter von 3 Maschinen, die über ein lokales Netzwerk verbunden sind, der Zeitraum ist nur 1 Jahr 6 Stunden. ich habe versucht, 5 Jahre Optimierung mit einer vollständigen Suche von Daten zu berechnen, es zeigte mir, dass 2 Monate warten müssen.Wenn ich es richtig verstanden habe, wird OpenCL das Problem lösen. Die Geschwindigkeit sollte sich um das Hundertfache erhöhen, da die Berechnungen nicht mit Prozessoren, sondern mit Grafikkarten durchgeführt werden. Das bedeutet, dass unter Berücksichtigung des gesamten Handelssystems etwa 200-300 Parameter in den Einstellungen vorhanden sein werden.
OpenCL-Berechnungen sind nicht an der Parallelisierung des Optimierungsprozesses beteiligt.
Mit OpenCL können Sie einen bestimmten Teil des Algorithmus schneller und parallel berechnen. Wir haben viele Artikel und Diskussionen über OpenCL.
Was hindert Sie daran, eine größere Karte zu kaufen?
einige A100https://www.nvidia.com/ru-ru/data-center/a100/
Es ist gesagt und getan worden.
X2-X3-Beschleunigung aus früheren Berechnungen auf Gforce RTX2080 TI
Aber es gibt noch einen weiteren Punkt für alle, die Modelle neuronaler Netze im Tester testen.
OpenCl erlaubt keinen Multithreading-Zugriff, wenn es mehr als 10-12 Prozesse (Agenten) gibt.
Vor allem dann, wenn mehrere neuronale Netze gleichzeitig erstellt werden, um verschiedene Daten zu analysieren und in einem zu verschmelzen.
Und obwohl der Server jetzt 96 logische Prozessoren hat, müssen wir 12 verwenden.
Daher ist es rentabler, mehrere alte Computer aus dem Netz zu nehmen, wahrscheinlich um ein Vielfaches billiger.
Unabhängig davon möchte ich die Möglichkeit erwähnen, das AMD SDK zu installieren, das die Verwendung von CPUs mit OpenCL ermöglicht.
Jetzt gibt es 96 Geräte, die eine Aufgabe mit der gleichen Geschwindigkeit ausführen können, aber nicht nur von der Leistung der Karte abhängig sind.
Die OpenCl-Bibliothek musste jedoch korrigiert werden, da der Prozess der Geräteauswahl
CLContextCreate(CL_USE_ANY)
erlaubt es nicht zu verstehen, welches Gerät gerade geladen ist.
Und wenn Sie nur GPU oder nur CPU auswählen, können Sie nicht beide Optionen gleichzeitig verwenden.
Um dieses Problem zu lösen, habe ich jede Karte auf ihre aktuelle Rechengeschwindigkeit getestet,
anhand dieses interessanten Beispiels die Berechnung zu simulieren (nett)
https://www.mql5.com/ru/code/825
Im Bibliothekscode ist sie wie folgt verankert
im EA-Code
Berücksichtigen Sie in der OpenCL-Bibliothek die Möglichkeit, das Gerät auszuwählen
In der morgigen Version werden wir hauseigene Matrix/Vektor-Datentypen für die Verwendung im maschinellen Lernen freigeben.
Der Code von MQL5-Programmen wird sehr viel einfacher und ermöglicht es uns, eine große Anzahl von mathematischen Operationen durchzuführen.
Dies ist die erste Generation der Funktionalität und dann werden wir komplexere Mechanismen implementieren, um die Fähigkeiten von Paketen wie TensorFlow zu implementieren. OpenCL wird sich dabei als nützlich erweisen.
Welchen Sinn hat all dieses Multithreading für ein neuronales Netz, wenn der Durchlauf einer neuen Epoche auf den Ergebnissen des vorangegangenen Durchlaufs beruhen sollte. Und alle parallelen Threads wiederholen nur die Ergebnisse des ersten Threads. Und am Ende werden sie die Ergebnisse in einer Datei ablegen. Überschreiben Sie die Ergebnisse des vorherigen Threads, aber im Wesentlichen ohne den Wert zu ändern...
ruft Renat und du jammerst. Wie alt sind Sie?
Die Bibliothek wurde leicht korrigiert, um sie zu verschönern.