OpenCL:MQL5中的内部实现测试 - 页 69

 

大家下午好。

在这个非常有趣的问题上,有一个忠告。

1.是否有任何交易用的EA使用OpenCL进行计算?

(一年多前宣布支持,我们一起在一个测试脚本上尝试了性能,但很多时间过去了,这个话题变得安静了......)。

2.如果我的系统中安装了几块显卡,它们都会被用于计算,还是只用其中一块?
 
vittt: 1.是否已经有任何使用OpenCL进行计算的交易EA?

可能存在,但不太可能是在kodobaz。热心人不多,也不是所有的人都会这样做。

OpenCL的优势在于它可以显著提高计算速度,这对交易来说至关重要。仅仅为了 "shoblo "或加载显卡而将其塞进算法中是不太明智的。

我认为,它的最严重的输出可以通过密集的良好平行计算或为神经网络设计者获得。这可能值得问他们。

例如,我个人有一个感兴趣的 方向,但那里几乎不需要OpenCL,因为它几乎没有任何用处(全局内存中太多的随机访问操作,只有魔鬼知道如何并行化)。我还没有走投无路,也没有尝试所有合理的可能性--但肯定不会是在免费访问中。

2.如果你在系统中安装了一块以上的显卡,它们将全部用于计算,还是只用其中的一块?

该公司说了一些关于多张卡甚至是双头卡的问题。不知道他们是否已经解决了。

 

你好。

我在MetaTrader5中做批量计算,解决一个问题(模拟扑克游戏)。 我在Mcl5中写,因为我是个书呆子,只知道它。在我看来,性能问题是非常重要的。

因此,我理解任务,即每一个连续的计算步骤不与先前的计算结果相联系,是可以并行化的。好!我就有这样的任务。

但我怎样才能使它并行化呢?如果我的算法是用结构(struct)来操作,其方法是

- 例如,从硬盘上打开一个文本文件,读取它,将信息添加到结构数组中,关闭文本文件。

- 和其他方法包含许多标准函数,如rand()、ArrayResize() 等。

据我所知,OpenCl是一种类似于c++的语言。总之,我的问题是,我怎样才能使一般的计算并行化?

 
Stasikusssss:

你好。

我在MetaTrader5中做批量计算,解决一个问题(模拟扑克游戏)。 我在Mcl5中写,因为我是个书呆子,只知道它。在我看来,性能问题是非常重要的。

因此,我理解任务,即每一个连续的计算步骤不与先前的计算结果相联系,是可以并行化的。好!我就有这样的任务。

但我怎样才能使它并行化呢?如果我的算法是用结构(struct)来操作,其方法是

- 例如,从硬盘上打开一个文本文件,读取它,将信息添加到结构数组中,关闭文本文件。

- 和其他方法包含许多标准函数,如rand()、ArrayResize()等。

据我所知,OpenCl是一种类似于c++的语言。总之,我的问题是:我怎样才能使一般的计算并行化?

谷歌是帮助。

在这个论坛上,你不会得到这样一个问题的答案。

由于两个原因的简单组合。

初级程序员 根本不会用OpenCL编程(也根本不会处理并行问题),因为他们无法掌握它。

2 有经验的程序员不想和你纠缠,因为它(你的问题)需要对你的技能有透彻的了解,才能用你理解的语言来回答,之后,他们会花相当长的时间来向你解释答案。

因此,请尊重有经验的程序员的时间资源,自己研究一下基础知识。 但当你弄明白了,并对语言(OpenCL)有具体的问题时,你会有更好的机会进行有意义的对话。

Быстрое погружение в MQL5
Быстрое погружение в MQL5
  • 2012.08.02
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы решили изучить язык программирования торговых стратегий MQL5, но ничего о нем не знаете? Мы постарались взглянуть на MQL5 и терминал MetaTrader 5 глазами новичка и написали эту небольшую вводную статью. Из неё вы сможете получить краткое представление о возможностях самого языка, а также несколько полезных советов по работе с редактором MetaEditor 5 и самим терминалом.
 

你可以回答说,有可能实现并行化

只有在纯C语言中,才有最简单的算术操作

Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
  • www.mql5.com
Основы языка / Операции и выражения / Арифметические операции - Документация по MQL5
 

OpenCL 2.0

OpenCL 2.0是OpenCL标准的最新重大演变,旨在进一步简化跨平台编程,同时使丰富的算法和编程模式能够轻松加速。 作为这些能力提升的基础,OpenCL 2.0定义了一个增强的执行模型和C11和C++11内存模型、同步和原子操作的子集。

  • Khronos论坛 的OpenCL 2.0反馈主题上发表评论--适合一般的反馈和问题。
  • OpenCL 2.0 下的Khronos Bugzilla系统中归档一个错误--对规范中的详细修复和错误发现有好处。
Official OpenCL 2.0 Feedback thread
Official OpenCL 2.0 Feedback thread
  • www.khronos.org
The Khronos Group promotes the deployment and development of open standard APIs to enable authoring and playback of dynamic media on a wide variety of platforms and embedded devices. Current APIs are OpenGL ES, OpenML, OpenMAX, OpenSL ES, and Collada.
 
tol64:

OpenCL 2.0是OpenCL标准的最新重大演变,.............

你这是要去哪里?
 
MetaDriver:
你的观点是什么?

我看到这条新闻,决定在这里发布。深入研究它是很有趣的,但我还找不到时间。以下是同一新闻的俄语版。


采用OpenCL 2.0规范

Khronos集团宣布批准并提供最终版本的OpenCL 2.0规范。据开发者称,OpenCL 2.0的发布是一个开源的、免费使用的、简化跨平台并行编程的标准发展的一个重要里程碑。

新版本改进了C11和C++11的执行模型和内存模型子集,同步化和原子操作。据悉,新版本的OpenCL允许你使用更广泛的算法和编程模式。新版本考虑到了使用OpenCL的软件开发者的愿望。这些规格已经在Khronos网站上公布了。

OpenCL 2.0的改进和新功能包括:共享虚拟内存、嵌套并行、共享地址空间、更好的图像处理,包括sRGB支持。此外,开发人员还强调了原子C11操作、内存FIFO堆栈管道和Android的可安装驱动扩展。

Принята спецификация OpenCL 2.0
  • www.ixbt.com
Принята спецификация OpenCL 2.0 Открытый, бесплатный для использования стандарт OpenCL 2.0 упрощает кроссплатформенное параллельное программирование
 
tol64:

我看到这条新闻,决定在这里发布。深入研究它是很有趣的,但我还找不到时间。以下是同一新闻的俄语版。


采用OpenCL 2.0规范

Khronos集团宣布批准并提供最终版本的OpenCL 2.0规范。据开发者称,OpenCL 2.0的发布是一个开源的、免费使用的、简化跨平台并行编程的标准发展的一个重要里程碑。

新版本改进了C11和C++11的执行模型和内存模型子集,同步化和原子操作。据悉,新版本的OpenCL允许你使用更广泛的算法和编程模式。新版本考虑到了使用OpenCL的软件开发者的愿望。这些规格已经在Khronos网站上公布了。

OpenCL 2.0的改进和新功能包括:共享虚拟内存、嵌套并行、共享地址空间、更好的图像处理,包括sRGB支持。此外,开发人员还强调了原子C11操作、内存FIFO堆栈管道和Android的可安装驱动扩展。

嗯,这是可以理解的,怎么处理呢,把它扔到C#/C++中吗?
 
MetaDriver:
我应该用C#/C++来处理它吗?

也许雷纳特可以看看能从这里面学到什么。新的规格很可能在MQL5中也会有更好的性能,不是吗?

至于C#/C++,如果需要,我们也可以甩掉它。最主要的是获得最大可能的产出。;)