关于OpenCL的话题很多,但引用的任务与交易相差太远。
那么,OpenCL能给交易者带来什么?
你能接受的,那就是它能给予的。
是的,我还没有研究过OpenCL,所以我想学习并弄清要点。
我今天会破例一次(我心情很好)。 然而,在初始阶段,由于明显的滑坡,我可能会忽略 "婴儿谈话",只回答关于编程的具体问题,只要他们不是太笨。
1.这是一个独立的程序,接收输入和输出数据,不是吗?因此,MQL根本没有任何互动?
在内核操作期间,没有任何交互,交互与函数调用的情况类似。1、设置初始参数,2、运行计算,3、获取结果
2.如果你只想得到确认是否存在匹配,是否值得将数组搜索引入OpenCL?
我不知道,这取决于手头的任务。也许你不必如此。或者你应该这样做,你知道心灵感应俱乐部在哪里吗?:)
3.在优化过程中,每个线程都要做自己的OpenCL初始化,而且没有办法连接到活动线程?
我没有试过在优化器中运行它,但如果几个调用相互重叠(我在做的是同时启动几个OpenCL指标和专家顾问),它当然会变慢。
// 它不需要从天花板上获取资源,对吗?
如果显卡的内存过载(例如,如果几个进程试图在显卡内存中并行加载阵列,超过了内存容量),那么你可以 "破坏驱动"--得到显卡和驱动的完全重启(重置),然后出现驱动崩溃的信息。 至少这种情况反复发生在我的显卡/驱动上。这不会导致不可逆的损害,但导致崩溃的程序通常是挂起的(它们必须重新启动)。以前也有终端挂机的案例,但最近没有。
// 然而,我已经很久没有用不谦虚的内存查询来 "撕扯 "司机了,我已经找到了 "奢侈的极限 "大约。:)
这很简单:你把一个接近于交易的任务(例如,分析报价历史),并试图用OpenCL来解决它。经过几次不成功的尝试,进一步阅读文献和新的尝试,它将会成功,我保证。但条件是,你必须能够消化英文文献,并有一点毅力,以及最低限度的头脑。
OpenCL驱动已经为显卡和处理器上的仿真进行了相当好的优化(在后一种情况下,英特尔处理器可能更强大)。所以你必须努力尝试,最后根本没有得到任何积极的结果。
那么,OpenCL能给交易者带来什么?
伙计们,谁在施展魔法?是否有可能将线性方程组的解转移到OpenCL上?系统的规模可能真的很大,而且还有其他细微差别。
这是一个很好的PDF,可以回答你的问题。
尼古拉,谢谢你的回应。没有CUDA,也没有代码。
哦,我还忘了说一件事--矩阵的构建比它的解法需要更多的时间:)所以我可能需要将它并行化。
什么是源数据?//格式、数据结构
我的意思是,我们用什么来建立矩阵? 一堆缓冲区? 一棵树?来自[...]?
![Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных](/i/community/logo_mql5_small.png)
- www.mql5.com
尼古拉,谢谢你的回应。没有CUDA,也没有代码。
哦,我还忘了一件事--矩阵的构建比解决它需要更多的时间:),所以可能需要平行构建。
我指的是计划,而不是实施。当然,CUDA是不同的,但一般方案是相同的。
我同意弗拉基米尔的观点,你没有提供足够的信息来帮助你。
我想不会有其他人加入,所以如果你不想公开,你可以私下问任何一位主持人。
我的意思是,我们用什么来建立矩阵? 一堆缓冲区? 一棵树?来自[...]?
粗略地说,有一个巨大维度的空间(10-1000甚至更多),对于它,我们需要解决MNC问题。
解决ANM问题的方法可归结为
(1) 构建导数的方程式
(2) 通过求解(1)中得出的方程组来实现
现在(1)占据了大部分的解决时间。维度越大,分数就越大。
并行算法只有两个特点,使其比顺序算法更具优势。
它们是梳理算法,每个齿都拿着它的线,沿着整个长度拉动。
还有金字塔的滚动/展开。揭开包装的情况比较少见,大多是卷曲的。
如果问题陈述不包括任何这些特征,并行求解器就不会有优势,更多的时候会因为内存加载的成本而变得更慢。
关于OpenCL的话题很多,但引用的任务与交易相差太远。
那么,OpenCL能给交易者带来什么?
是的,我还没有研究过OpenCL,所以我想学习并弄清要点。