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

 
Kann Doom im mt5-Fenster ausgeführt werden?
 

Der korrigierte Code wird erneut gepostet. Funktioniert sogar auf der CPU.

Wir haben OpenCL in MetaTrader 5 bereits im Februar 2012 in Build 581 veröffentlicht. Jetzt sind sowohl OpenCL selbst als auch die Hardware-Unterstützung auf einem akzeptablen Niveau und wir sind wieder beim Thema der Verwendung von OpenCL in Mathematik und Grafik angelangt.

 
Alexey Volchanskiy:
Renat sagte schon vor langer Zeit, dass OpenCL im MT5-Tester funktioniert, aber nur auf dem lokalen Rechner, nicht in der Cloud. Nutzen Sie es also zumindest jetzt.
Nun, es gibt noch keinen GP-Kernel im Standardtester, alle Agenten sind CPU-only.
 

Wie sieht es also mit Multitasking aus? Keiner hat geantwortet.

  1. Wenn mehrere EAs in einem Terminal laufen, können sie dann OpenCL gemeinsam und unabhängig voneinander nutzen?
  2. Bei mehreren Terminals ist es dasselbe.

 
Vitalie Postolache:
Nun, im Standard-Kernel-Tester funktionieren GPs in keiner Weise, alle Agenten sind nur für die CPU zuständig.
Sie arbeiten in den Standardtester in den lokalen Agenturen.
 
Alexey Volchanskiy:

Wie sieht es also mit Multitasking aus? Keiner hat geantwortet.

  1. Wenn mehrere EAs in einem Terminal laufen, können sie dann OpenCL gemeinsam und unabhängig voneinander nutzen?
  2. Bei mehreren Terminals ist es dasselbe.

Ja, alles funktioniert innerhalb der Grenzen der Angemessenheit der Ressourcen.
 
Vitalie Postolache:
Nun, im Standardtester funktionieren die GP-Kerne noch nicht, alle Agenten sind nur CPU.
Danke für die Information, ist das richtig? Dann brauche ich OpenCL noch nicht wirklich.
 
Vitalie Postolache:
Nun, wenn nicht nur 8-16 CPU-Kerne, sondern Tausende von GP-Kernen für die Optimierung verwendet werden, wird es zu einer Leistungsexplosion kommen. Natürlich nur, wenn eine solche Möglichkeit auch umgesetzt wird.
Alexey Volchanskiy:
Renat hat schon lange gesagt, dass OpenCL im MT5-Tester funktioniert, aber nur auf einem lokalen Rechner, nicht in der Cloud. Nutzen Sie es also zumindest jetzt.

Bei der üblichen Optimierung wird jedem Agenten eine Kopie des EA übergeben, d.h. es wird auf der Ebene des gesamten EA parallelisiert.

Und es kann nur ein Teil der Logik an die GPU gesendet werden, der von EA parallelisiert werden kann, eine Kopie von EA kann nicht an die GPU gesendet werden. D.h. nur ein Teil der EA-Logik von jeder der Kopien auf den lokalen Agenten kann an die "Tausende von GP-Kernen" gesendet werden.

Daher ist es nicht möglich, einfach GP-Kerne als Agenten für einen EA anzugeben.

 
Renat Fatkhullin:
Arbeiten in Standardtester in lokalen Agenten.
Warum sehe ich beim Optimieren nur CPU-Kerne (Core i5, 8 Kerne - 8 Agenten), obwohl ich eine NVIDIA 780GTX habe?
 
Andrey Dik:

Bei der üblichen Optimierung wird jedem Agenten eine Kopie des EA übergeben, d.h. es wird auf der Ebene des gesamten EA parallelisiert.

Und nur der Teil der Logik kann an die GPU gesendet werden, der von der EA parallelisiert werden kann, eine Kopie der EA kann nicht an die GPU gesendet werden. D.h. nur ein Teil der EA-Logik von jeder der Kopien auf den lokalen Agenten kann an die "Tausende von GP-Kernen" gesendet werden.

Daher ist es nicht möglich, einfach GP-Kerne als Agenten für einen EA anzugeben.

Ja, ich bin ein wenig mit OCL vertraut, das ist mir bewusst. Sie müssen also nicht den gesamten EA in die Map laden, sondern lassen nur die parallelen Codefragmente laden, die in der Regel einen Prozentsatz des gesamten Codes darstellen.
Grund der Beschwerde: