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

 
Renat Fatkhullin:

我们正在准备一个用于数学和渲染的OpenCL人员库,这将需要几周时间。它将是惊人的快速和美丽。

同时,请看一下用于渲染科学图表 的最新图形库。

那么,是不是都要在MetaEditor中写上程序,还是已经准备好了,只需要在图上抛出一个脚本?
 

对我来说,它也没有开始。

2016.12.10 07:00:47.388 Seascape (EURUSD,M1)    OpenCL: GPU device 'Redwood' selected
2016.12.10 07:00:47.418 Seascape (EURUSD,M1)    
2016.12.10 07:00:47.418 Seascape (EURUSD,M1)    OpenCL program create failed
2016.12.10 07:00:57.263 Seascape (EURUSD,M1)    OpenCL: GPU device 'Redwood' selected
2016.12.10 07:00:57.285 Seascape (EURUSD,M1)    
2016.12.10 07:00:57.285 Seascape (EURUSD,M1)    OpenCL program create failed
 

OpenCL非常好,你可以用这种技术快速训练神经网络,比在普通处理器上快数百(数千)倍。

prostotrader:
2016.12.10 03:57:08.218 Seascape (GOLD-12.16,H1)        OpenCL program create failed
2016.12.10 03:57:36.695 Seascape (GOLD-12.16,H1)        OpenCL: GPU device 'GeForce GTX 970' selected
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        <kernel>:188:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)           uint b=(uint)(res[2]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        <kernel>:189:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)           uint g=(uint)(res[1]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        <kernel>:190:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)           uint r=(uint)(res[0]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        
2016.12.10 03:57:36.730 Seascape (GOLD-12.16,H1)        OpenCL program create failed

这可以通过在脚本中找到这几行来解决 --

                    "   uint b=(uint)(res[2]*255);\r\n"
                    "   uint g=(uint)(res[1]*255);\r\n"
                    "   uint r=(uint)(res[0]*255);\r\n"

并将其替换为-

                    "   uint b=(uint)(res.z*255);\r\n"
                    "   uint g=(uint)(res.y*255);\r\n"
                    "   uint r=(uint)(res.x*255);\r\n"
 

有几个问题。

  1. 如果多个EA在同一终端运行,它们能否独立地共享和使用OpenCL?
  2. 多个终端的情况也一样。

 
Renat Fatkhullin:

数以千计的GPU内核可以用OpenCL 来加快计算速度百倍(几百倍)。

这正是交易中所需要的,也是允许向需要更多数量级计算资源的技术过渡的原因。

在MQL4中,你用铲子挖,而在有OpenCL的MQL5中,你在性能方面得到了一台拖拉机。为了将GPU计算带给大众,除了现有的 数学库之外,我们正在准备新的数学库。

你还需要真实的例子,比如说,在EA中可以真实地比对什么。

在优化时,我可以使用使用OpenCL的代码吗?

 
Renat Fatkhullin:

有了OpenCL,你可以使用数以千计的GPU核心,将数学计算的速度提高一百(几百)倍。

这正是交易中所需要的,也是允许向需要更多数量级计算资源的技术过渡的原因。

在MQL4中,你用铲子挖,而在MQL5中用OpenCL,你在性能上得到了拖拉机。为了将GPU计算带给大众,除了现有的 数学库之外,我们正在准备新的数学库。

MQL4是否会有类似的东西?或者至少,使用多线程,因为多核处理器没有什么用...

你可以在客户终端上制作具有这种图形的游戏,但我不知道交易者是否会玩而不是交易 )

 
Alexander Nikolaev:

MQL4是否会有类似的东西?或者至少,使用多线程,因为多核处理器没有什么用...

我不知道交易员是否会在有这样图形的终端上玩游戏,但我想知道他们是否会玩游戏而不是交易 )

你有哪些任务缺乏一个核心?

你可以运行与核心数量相对应的终端副本来优化它们。

 
-Aleks-:

你有什么样的任务,缺少一个核心?

你可以运行与要优化的核心数量相对应的终端副本。

那么,如果不仅仅是8-16个CPU核心,而是成千上万的CPU核心被用于优化,那将是一个性能爆炸。当然,如果这种可能性得以实施。
 
Vitalie Postolache:
那么,如果不仅仅是8-16个CPU核心,而是成千上万的CPU核心被用于优化,那将是一个性能爆炸。当然,如果这种可能性将被实施的话。
雷纳特早就说过,OpenCL在MT5测试器中工作,但只在本地机器上,而不是在云中。所以现在也要使用它。
 

真漂亮!!!"。

甚至想到了以后如何使用它--直接在图表上直播新闻,或者是它自己的分析或培训(网络研讨会)渠道。

开发人员做得很好。