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

 
Marat Sultanov:

Verwendet denn niemand OpenCL für praktische Aufgaben? :)

GUT. Tut mir leid, geht es Ihnen wie mir, stecken Sie deswegen fest, oder wollen Sie es nur für die allgemeine Entwicklung wissen?


Ich plane, es in MQL5 zu verwenden, so dass ich beschlossen, das Thema zu verfolgen
 

Tolle Neuigkeiten :) Die Entwickler haben alles entdeckt und behoben! Ich freue mich auf den neuen Bau :)

Hinzugefügt: alle Fehler im Build 1586 behoben.

 

Ich sehe im Optimierer, dass man nicht mehr als einen lokalen Agenten mit OpenCL haben kann. Das ist bedauerlich.

Liebe Entwickler:

1) Was bedeutet der Fehler 5114? Dieser Fehler wurde von den Agenten verursacht, die OpenCL nicht verwenden wollten. In der Hilfe gibt es keine Beschreibung für diesen Fehler.

2) Wird es in Zukunft eine Möglichkeit geben, mehrere lokale Agenten mit OpenCL im Optimierer zu aktivieren?

 
Marat Sultanov:

Ich sehe im Optimierer, dass man nicht mehr als einen lokalen Agenten mit OpenCL haben kann. Das ist bedauerlich.

Liebe Entwickler:

1) Was bedeutet der Fehler 5114? Dieser Fehler wurde von den Agenten verursacht, die OpenCL nicht verwenden wollten. In der Hilfe gibt es keine Beschreibung für diesen Fehler.

2) Wird es in Zukunft eine Möglichkeit geben, mehrere lokale Agenten mit OpenCL im Optimierer zu aktivieren?


Wenn es eine Grenze bei der Verwendung von OpenCL im Tester gibt, wäre es sinnvoll, OpenCL nicht von MQL5 aus zu verwenden, sondern in einer externen DLL in C++, wo es mehr Optionen gibt, einschließlich der Bibliothek unter OPenCL OOP
 
Konstantin:
Wenn es Einschränkungen bei der Verwendung von OpenCL im Tester gibt, ist es sinnvoll, OpenCL nicht von MQL5 aus zu verwenden, sondern in einer externen DLL in C++, wo Sie mehr Möglichkeiten haben, einschließlich einer Bibliothek für OPenCL OOP

Natürlich sind Sie das. Das tue ich auch. Es ist einfacher, CUDA sofort zu verwenden - für mehr Komfort und Leistung bei der Programmierung.

Aber wir sprechen hier von nativen Methoden...

 
Marat Sultanov:

Natürlich sind Sie das. Das tue ich auch. Es ist einfacher, CUDA sofort zu verwenden - für mehr Komfort und Leistung beim Programmieren.

Aber wir sprechen hier von nativen Methoden...

Leider sind sie noch unerforscht, und ich habe wenig Zeit, sie zu studieren, so dass ich im Moment in Richtung CUDA und TensorFlow schaue
 
Konstantin:
Leider haben sie noch unerforschte Rake, und ich habe wenig Zeit, sie zu studieren, so für jetzt bin ich in Richtung CUDA und TensorFlow suchen.

Ja, aber alles an einem Ort und nativ :)

Ich bin im Allgemeinen mit der MQL5-Implementierung zufrieden: alles ist einfach, optimal und es gibt nur ein Minimum an Bugs, und die Bugs, die entdeckt werden, werden ziemlich schnell und bereitwillig behoben. Und die Entwickler haben die Entwicklung dieses Geschäfts nicht vernachlässigt, was sehr ermutigend ist. Jetzt stehen den Programmierern erweiterte Ressourcen zur Verfügung, und das Schreiben von CL-Code ist viel bequemer und schneller geworden.

CUDA ist wegen seiner Optimierung für seine Karten und den Debugger sehr attraktiv, aber dennoch ist es nicht für den breiten Markt geeignet, wo es nicht weniger Karten von amd gibt.

TensorFlow ist schließlich für maschinelles Lernen gedacht, und es geht um spezifischere Aufgaben. Aber es ist eine interessante Technologie, ja.

Ich habe für mich selbst Schlussfolgerungen gezogen:

1) Für Universalität und einen breiten Markt ist es besser, OpenCL von MQL5 zu verwenden.

2) Wenn Sie es für sich selbst mit maximaler Leistung tun, verwenden Sie keine native CUDA.

 
Marat Sultanov:

Ja, aber alles an einem Ort und nativ :)

Ich bin im Allgemeinen mit der MQL5-Implementierung zufrieden: alles ist einfach, optimal und es gibt nur ein Minimum an Fehlern, und die Fehler, die entdeckt werden, werden ziemlich schnell und bereitwillig behoben. Und die Entwickler haben die Entwicklung dieses Falles nicht vernachlässigt, was sehr ermutigend ist. Jetzt stehen den Programmierern erweiterte Ressourcen zur Verfügung, und das Schreiben von CL-Code ist viel bequemer und schneller geworden.

CUDA ist wegen seiner Optimierung für die Karten und den Debugger sehr attraktiv, aber trotzdem ist es nicht für den breiten Markt geeignet, wo es genauso viele amd-Karten gibt.

TensorFlow ist schließlich für maschinelles Lernen gedacht, und es geht um spezifischere Aufgaben. Aber es ist eine interessante Technologie, ja.

Ich habe für mich selbst Schlussfolgerungen gezogen:

1) Für Universalität und einen breiten Markt ist es besser, OpenCL von MQL5 zu verwenden.

2) Wenn ich nur für mich selbst mit maximaler Ausbeute arbeiten will, dann nicht mit dem nativen CUDA.

Ich stimme den Entwicklern zu, aber OpenCL ist für statistische Berechnungen nicht geeignet, da ein Großteil des Codes nach C portiert werden muss, selbst wenn er in einem externen Modul oder einer Bibliothek geschrieben wurde. Zumindest habe ich keine Lösung gefunden, um alglib damit zu verbinden. TensorFlow hat das alles an Bord, aber es gibt einen Fallstrick, ich muss einen Teil davon in Phyton schreiben)) und natürlich die Einschränkung, AMD-Karten zu verwenden.

Vielleicht wird jemand hier Alglib in OpenCL-Funktionen portieren.

 
Marat Sultanov:

Ich sehe im Optimierer, dass man nicht mehr als einen lokalen Agenten mit OpenCL haben kann. Das ist bedauerlich.

Liebe Entwickler:

1) Was bedeutet der Fehler 5114? Dieser Fehler wurde von den Agenten verursacht, die OpenCL nicht verwenden wollten. In der Hilfe gibt es keine Beschreibung für diesen Fehler.

2) Wird es in Zukunft eine Möglichkeit geben, mehrere lokale Agenten mit OpenCL im Optimierer zu aktivieren?

  1. Der Fehlercode 5114 wurde erst kürzlich hinzugefügt; er wurde noch nicht in die Hilfe aufgenommen.
    Unter den verfügbaren OpenCL-Geräten wurden keine geeigneten gefunden.
    Dieser Fehler kann auftreten, wenn Sie einen Kontext angeben, in dem nur ein GPU-Gerät verwendet werden soll, während CPU-Geräte verfügbar sind.
  2. Ein Agent pro OpenCL-Gerät, einfach so.
 
Ilyas:
Wenn Sie schon dabei sind, können Sie erklären, wie man diesen Fehler beheben kann?

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Hier sehen Sie, was Sie mit OpenCL direkt im MetaTrader 5 Terminal ohne DLL machen können

fxsaber, 2017.04.14 14:49

Zunächst heißt es
2017.04.14 15:47:04.255 OpenCL  Device #0:  CPU GenuineIntel  Intel(R) Core(TM) i7-2700 K CPU @ 3.50 GHz with OpenCL 1.1 (8 units, 3510 MHz, 16301 Mb, version 2.0, rating 25)
Und dann, 20 Sekunden später, heißt es
2017.04.14 15:47:23.579 BitonicSort (RTS-6.17,M1)       OpenCL not found. Error code=5101
2017.04.14 15:47:23.579 BitonicSort (RTS-6.17,M1)       Error in OpenCL initialization. Error code=5101

Es ist keine Grafikkarte vorhanden.