OpenCL: interne Implementierungstests in MQL5 - Seite 19

 
WChas:

Die obere Datei ist ein Download von mir, die untere Datei von Ihrem Link. Völlig andere Größe.... )

Nun, es ist ganz einfach, ich habe den falschen Link gesetzt. :)

Ich habe beide Dateien in der gleichen Größe.

Ich habe vorerst aufgegeben. Habe jetzt 2010 Studio und AMD SDK installiert. Sie sind korrekt installiert, werde morgen Beispiele studieren.

Ich gehe jetzt ins Bett.

 
Für diejenigen, die neue Grafikkarten kaufen, um OpenCL zu nutzen.
Ich empfehle Ihnen, die Spezifikationen für die Verwendung der neuen und alten PCI-E-Bus-Karte sorgfältig zu lesen.
Der Punkt ist, dass , wenn Sie sich entscheiden, beide Grafikkarten zu verwenden, die Busgeschwindigkeit mit der langsameren Geschwindigkeit gewählt wird, wodurch Sie an Leistung verlieren könnten.
Interne Tests zeigen, dass der Datenübertragungsverlust von der GPU zum RAM in Bezug auf die Zeit recht beachtlich ist!
 
mql5:


Interne Tests zeigen, dass der Verlust bei der Übertragung von Daten von der GPU in den Arbeitsspeicher in der Zeit recht deutlich ist!


Leider ist dies das Schlimmste, was die Geschwindigkeit der GPU beeinträchtigen kann. Aus diesem Grund ist OpenCL nur bei umfangreichen Berechnungen von Vorteil, bei denen Sie die Aufgabe einmal laden und die Ergebnisse ein zweites Mal abrufen müssen. Das heißt, es ist schlecht für parallele Prozesse, die Aufgaben mit einer großen Menge an Eingabedaten von einer Anwendung auf die GPU laden müssen und die Ergebnisse erhalten, wenn sie bereit sind, zurück zu gehen, sowie für kleine Aufgaben.
 
Es stellt sich die Frage, ob es Voraussetzungen für die Integration der GPU in die CPU gibt. Wird es in Zukunft nicht zu Konflikten zwischen OpenMP und OpenCL auf allen Ebenen des Terminals und des Testers kommen?
 
-Alexey-: Wird es in Zukunft nicht zu Konflikten zwischen OpenMP und OpenCL auf allen Ebenen des Terminals und des Testers kommen?

Wird OpenMP in MQL5 bereits unterstützt?

Wenn die Frage zu dumm ist, sollten Sie nicht zu hart zuschlagen.

 
Unterstützt über dll, und wahrscheinlich nutzen viele Leute wie ich diese Funktion. Die Beschleunigung von eineinhalb auf mehrere Male ist ganz greifbar, und erfordert keine Grafikkarte, funktioniert entweder in der Anzeige oder dem Tester.
 
Sie können den Teufel mit einer DLL unterstützen.
 
Mathemat:
Sie können die Hölle mit einer dll unterstützen.

Das ist mir völlig egal. :)

Aber aus irgendeinem Grund haben sich die Entwickler für OpenCL und nicht für OpenMP entschieden. Nicht ohne Grund... Es scheint, dass in den nächsten Builds wird es möglich sein, es in den Tester zu fühlen, wie ich es verstehe. Ich bin mir nur nicht sicher, ob ich es überhaupt spüren werde. Die Tests werden zeigen. :)

 
Mathemat:
Mit einer DLL können Sie das Ganze noch unterstützen.
Der Prüfer weiß, wie man über Prozessorkerne hinweg parallelisiert. Wenn der EA-Code jedoch bereits eine DLL mit parallelen Berechnungen verwendet, ist dies eher unnötig, da es zu einer Verlangsamung führen kann. Lokale Kerne können im Tester deaktiviert werden, aber es ist nicht klar, was mit OpenCL-Programmen von MCL und dem OpenCL-Tester wo, was, wie passieren wird. Das Prüfgerät parallelisiert die Läufe oder es wird nur ein einziger Lauf parallelisiert. D.h. das EA-Programm wird auf der GPU oder im Tester oder in beiden parallel ausgeführt und wie wird es mit OpenMP extern interagieren. Kurz gesagt, ich bin bereits verwirrt...
 

Was bedeutet der Fehler 5102 und wie groß ist die Gefahr?

Alles sieht gut aus, das Programm funktioniert, aber GetLastError() gibt einen Fehler zurück, der in der Hilfe bisher nicht entziffert werden konnte.