以下是你可以在MetaTrader 5中直接使用OpenCL而不需要任何DLLs的情况 - 页 3

 
Doom可以在MT5窗口中运行吗?
 

现将更正后的代码重新张贴。即使在CPU上也能工作。

早在2012年2月,我们就在MetaTrader 5的build 581 中发布了OpenCL。现在,OpenCL本身和硬件支持都达到了可接受的水平,我们又回到了在数学和图形学中使用OpenCL的话题。

 
Alexey Volchanskiy:
雷纳特很久以前就说过,OpenCL在MT5测试器中工作,但只在本地机器上,而不是在云端。所以,至少现在要使用它。
嗯,标准测试器中还没有GP内核,所有代理都是只用CPU的。
 

那么,多任务处理的情况仍然如何?没有人回答。

  1. 如果几个EA在一个终端上运行,它们能否独立地共享和使用OpenCL?
  2. 这对多个终端来说是一样的。

 
Vitalie Postolache:
那么,在标准的内核测试器中,GP不以任何方式工作,所有的代理都是只用CPU。
他们在当地代理商的标准测试器中工作。
 
Alexey Volchanskiy:

那么,多任务处理的情况仍然如何?没有人回答。

  1. 如果几个EA在一个终端上运行,它们能否独立地共享和使用OpenCL?
  2. 这对多个终端来说是一样的。

是的,一切都在资源充足的范围内运作。
 
Vitalie Postolache:
好吧,在标准测试器中,GP核心还不能以任何方式工作,所有的代理都只有CPU。
谢谢你的信息,是这样吗?那么我还不太需要OpenCL。
 
Vitalie Postolache:
那么,如果不仅仅是8-16个CPU核心,而是成千上万的GP核心 将被用于优化,这将是一个性能爆炸。当然,如果这种可能性将被实施的话。
阿列克谢-沃尔昌斯基
雷纳特早就说过,OpenCL在MT5测试器中工作,但只在本地机器上,而不是在云中。所以,至少现在要使用它。

通常的优化涉及将EA的副本传递给每个代理,即在整个EA的层面上进行并行。

而且只有部分逻辑可以从EA并联到GPU,EA的副本不能被送到GPU。也就是说,只有本地代理上每个副本的部分EA逻辑可以被发送到 "成千上万的GP核心"。

因此,简单地将GP核心指定为任何EA的代理是行不通的。

 
Renat Fatkhullin:
在当地代理商中从事标准测试员的工作。
为什么我在优化时只看到CPU核心(Core i5,8核心-8代理),而我有NVIDIA 780GTX?
 
Andrey Dik:

通常的优化涉及将EA的副本传递给每个代理,即在整个EA的层面上进行并行。

而且,只有部分逻辑可以从EA发送到GPU,可以并行化,EA的副本不能发送到GPU。也就是说,只有本地代理上每个副本的部分EA逻辑可以被发送到 "成千上万的GP核心"。

因此,简单地将GP核心指定为任何EA的代理是行不通的。

是的,我对OCL有点熟悉,我知道的。所以,你不必在地图中加载整个EA,只需让并行的代码片段被加载;它们,通常代表整个代码的一个百分比。