Diskussion zum Artikel "Wie Sie OpenCl öffnen und für Kalkulationen verwenden."

 

Neuer Artikel Wie Sie OpenCl öffnen und für Kalkulationen verwenden. :

Es ist nun schon mehr als ein Jahr her, dass MQL5 OpenCL unterstützt. Allerdings haben noch nicht sehr viele Benutzer den wahren Wert von paralleler Datenverarbeitung (Parallel Computing) bezüglich Expert Advisors, Indikatoren oder Skripten erkannt. Dieser Artikel soll Ihnen dabei helfen, OpenCL auf Ihrem Computer zu installieren als auch einzurichten, so dass Sie diese Technologie in Ihrem MetaTrader-5-Handelsterminal verwenden können.

Sie können sich auch des automatischen Treiberbestimmungstools bedienen, indem Sie auf den entsprechende Link in der rechten, oberen Ecke der Seite klicken (Abb. 2.1.1). Sie werden daraufhin aufgefordert das Programm AMD Driver Autodetect auf Ihrem Rechner zu installieren. Stimmen Sie zu und starten Sie es.

Abb. 2.1.4 Applikation zum Finden und Herunterladen eines geeigneten Treibers.

Abb. 2.1.4 Applikation zum Finden und Herunterladen eines geeigneten Treibers.

Autor: MetaQuotes Software Corp.

 
Um die Vorteile der Verwendung von OpenCL in MQL5 zu demonstrieren, wurde das Skript OpenCL_Sample.mq5 geschrieben, das die Werte einer Funktion aus zwei Variablen auf einer bestimmten Menge berechnet und das Ergebnis im Diagrammfenster anzeigt<br/ translate="no">.

TC ist auch eine Funktion, deren Ergebnis ein benutzerdefinierter Indikator ist. D.h. der Optimierer ist eine Berechnung von Funktionswerten auf einer bestimmten Menge, wie in dem gegebenen Zitat.

Können wir dann über die Zweckmäßigkeit eines Standard-OpenCL-Optimierers sprechen? Oder gibt es Fallstricke, die es nicht erlauben, solche signifikanten (> 2 mal) Beschleunigungen zu erreichen?

Ich bin noch mehr an der Arbeit des Optimierers im Mattenmodus interessiert.

 
OpenCL eignet sich gut für Fälle, in denen es notwendig ist, einheitliche Rechenoperationen an einem großen Datensatz durchzuführen. Dann nehmen wir einen Satz von Werten, schneiden ihn in Stücke und geben jedes Stück an einen separaten Prozessor zur Berechnung. Das ist der Zeitgewinn. Weitere Einzelheiten über die OpenCL-Technologie sind in zwei Artikeln beschrieben, die in diesem Artikel erwähnt werden.
 

Können Sie die Dekodierung im Protokoll über gefundene Geräte mit OpenCL-Unterstützungerklären .

Zuerst kommt die Gerätenummer, in Ihrem Fall ist es device#0, dann der Gerätename nvidia GTX 580 , die OpenCL-Version des Gerätes, aber was in Klammern steht, ist nicht ganz klar. Sollte nicht die Anzahl der ALU (für nvidia CODA Kerne) angegeben werden??? und dann gibt es eine unverständliche Frequenz, es ist nicht klar, worauf sie sich bezieht, normalerweise ist die Frequenz des Videokerns nicht mehr als 1000 MHz... Bitte entschlüsseln Sie es.

OpenCL: Мост в параллельные миры
OpenCL: Мост в параллельные миры
  • 2012.05.16
  • Sceptic Philozoff
  • www.mql5.com
В конце января 2012 года компания-разработчик терминала MetaTrader 5 анонсировала нативную поддержку OpenCL в MQL5. В статье на конкретном примере изложены основы программирования на OpenCL в среде MQL5 и приведены несколько примеров "наивной" оптимизации программы по быстродействию.
 

Guten Tag zusammen.

Können Sie mir bitte Ratschläge zu diesem sehr interessanten Thema geben:

1. Gibt es bereits Expert Advisors für den Handel, die OpenCL für Berechnungen verwenden?

2. Wenn mehrere Grafikkarten im System installiert sind, werden dann alle für die Berechnungen verwendet oder nur eine von ihnen?

 

2. Jeder Experte kann nur eine Karte verwenden.

Mehrere Experten können gleichzeitig mehrere OpenCL-Geräte verwenden.

 
Wenn mehrere Geräte auf einem Computer an OpenCL-Berechnungen beteiligt sein können, werden dann alle oder nur eines von ihnen verwendet?
 
paladin800:
Wenn mehrere Geräte auf einem Computer an OpenCL-Berechnungen beteiligt sein können, werden dann alle oder nur eines von ihnen verwendet?

Es gab bereits eine Antwort oben

Renat:

2. Jeder Expert Advisor kann nur eine Karte verwenden.

Sie können explizit angeben, welches Gerät von einem bestimmten MQL5-Programm verwendet werden soll. Sehen Sie sich dazu die Funktion CLContextCreate an
 
sigma7i:

Können Sie die Dekodierung im Protokoll über gefundene Geräte mit OpenCL-Unterstützungerklären .

Zuerst kommt die Gerätenummer, in Ihrem Fall ist es device#0, dann der Gerätename nvidia GTX 580 , die OpenCL-Version des Gerätes, aber was in Klammern steht, ist nicht ganz klar. Sollte nicht die Anzahl der ALU (für nvidia CODA Kerne) angegeben werden??? und dann gibt es eine sehr unklare Frequenz, es ist nicht klar, worauf sie sich bezieht, normalerweise ist die Frequenz des Videokerns nicht mehr als 1000 MHz.... Bitte entschlüsseln Sie es.

Ich habe die Fragen falsch gestellt, ich bitte um Entschuldigung....

Die Fragen beziehen sich auf das Bild aus dem Artikel:

1. Was bedeutet "16 Einheiten"? Und warum ist die Anzahl der Kerne in der Grafikkarte nicht angegeben?

2. was ist mit 1630 MHz gemeint ? die volle Frequenz der Grafikkarte oder einzelne Komponenten ?

Bild

 

Zunächst einmal ist OpenCL eine eigene Spezifikation von Parallelitätsmethoden, die von der festverdrahteten Implementierung unabhängig ist. Deshalb kann man keine vollständige Übereinstimmung mit GPU-Spezifikationen erwarten.

Einheiten sind keine separaten Kerne, sondern Gruppen von Kernen. Verschiedene Architekturen haben unterschiedliche Methoden, um mehrere Kerne zu Einheiten zu gruppieren. NVIDIA kann beispielsweise 8, 32 oder 48 Kerne (oder mehr) in einer Einheit haben. In den CPU-Modi werden die Einheiten als logische CPU-Kerne gezählt.

Die Frequenz wird vom Gerät (z. B. der Grafikkarte) angezeigt.

 
Es gibt einen weiteren Vorteil der Verwendung von OpenCL, nämlich die parallele Ausführung von OpenCL-Code mit MQL5-Code.

Der Punkt ist, dass der Aufruf der CLExecute-Funktion nur ein Befehl an den OpenCL-Treiber ist, die Ausführung zu starten.
Das Warten auf den Abschluss der OpenCL-Aufgabe erfolgt beim Zugriff auf die OpenCL-Ausführungswarteschlange, zum Beispiel beim Aufruf der Funktion CLBufferRead, wie in diesem Beispiel geschehen.


Zwischen den Aufrufen von CLExecute und CLBufferRead können Sie beliebige MQL5-Berechnungen durchführen, die nicht auf die OpenCL-Warteschlange zugreifen.
OpenCL: Мост в параллельные миры
OpenCL: Мост в параллельные миры
  • 2012.05.16
  • Sceptic Philozoff
  • www.mql5.com
В конце января 2012 года компания-разработчик терминала MetaTrader 5 анонсировала нативную поддержку OpenCL в MQL5. В статье на конкретном примере изложены основы программирования на OpenCL в среде MQL5 и приведены несколько примеров "наивной" оптимизации программы по быстродействию.