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

 
Urain:

是的,我想我明白了,你不满足于

1. 算法的复杂化和应用程序的内存超限

2. 你希望能够在复制阶段进行抵消。

所以你不必复制100000个元素,然后做998000个偏移。

3. 但我们应该保留我们现在拥有的带偏移量的变体,因为它允许我们不多次复制一个相同的数据,而是从一个已经存在的带新偏移量的CL-缓冲区为一个新的任务提取数据。

1.没有。我不喜欢把时间浪费 在额外的复制上。虽然,如果我们使用float,无论如何我们都要复制到缺口中。

2.是的。

3.是的。

 
Сторонникам всемирного заговора и полным параноикам, ну или просто любителям по управлять ценой, посвящается! ;) - MQL4 форум
  • www.mql5.com
Сторонникам всемирного заговора и полным параноикам, ну или просто любителям по управлять ценой, посвящается! ;) - MQL4 форум
 

不错。令人印象深刻。美味的煎饼。

//---

是否会有一篇关于OpenCL 的文章?我还没有在实践中接近这个话题,但如果能读到它的观点,会非常有趣。或者至少在帮助中提供几个关于如何使用它的例子脚本。没有足够的信息可供利用。

 

与单个CPU核心相比,我的卡成功获得了x200倍的速度提升。

2012.03.04 23:01:32 ParallelTester_00-01 x (EURUSD,D1)  CpuTime/GpuTime = 216.0292397660819
2012.03.04 23:01:32 ParallelTester_00-01 x (EURUSD,D1)  Result on Cpu МахResult==1.3431 at 819 pass
2012.03.04 23:01:32 ParallelTester_00-01 x (EURUSD,D1)  Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.04 23:01:32 ParallelTester_00-01 x (EURUSD,D1)  CPU time = 36941 ms
2012.03.04 23:00:55 ParallelTester_00-01 x (EURUSD,D1)  Result on Gpu МахResult==1.3431 at 819 pass
2012.03.04 23:00:55 ParallelTester_00-01 x (EURUSD,D1)  Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.04 23:00:55 ParallelTester_00-01 x (EURUSD,D1)  GPU time = 171 ms
2012.03.04 23:00:55 ParallelTester_00-01 x (EURUSD,D1)  OpenCL init OK!

请测试并公布结果。

CPU: AuthenticAMD AMD Phenom(tm) II X6 1100 T Processor with OpenCL 1.1 (6 units, 3311 MHz, 16345 Mb, version 2.0)
GPU: Advanced Micro Devices, Inc. Cayman with OpenCL 1.1 (20 units, 750 MHz, 1024 Mb, version CAL 1.4.1664 (VM))

如果卡没有拉动内存,减少历史记录(CountBars)或通过次数(CountPass),这是不太理想的。

多通道测试器的拖车(型号)

附加的文件:
 
2012.03.04 22:24:07     ParallelTester_00-01 x (EURUSD,D1)       OpenCL init OK!
2012.03.04 22:24:08     ParallelTester_00-01 x (EURUSD,D1)       GPU time = 1513 ms
2012.03.04 22:24:08     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.04 22:24:08     ParallelTester_00-01 x (EURUSD,D1)       Result on Gpu МахResult==1.80839 at 1002 pass
2012.03.04 22:24:52     ParallelTester_00-01 x (EURUSD,D1)       CPU time = 44055 ms
2012.03.04 22:24:52     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.04 22:24:52     ParallelTester_00-01 x (EURUSD,D1)       Result on Cpu МахResult==1.80839 at 1002 pass
2012.03.04 22:24:52     ParallelTester_00-01 x (EURUSD,D1)       CpuTime/GpuTime = 29.11764705882353
2012.03.04 22:27:16     Terminal        GPU: NVIDIA Corporation GeForce GT 440 with OpenCL 1.1 (2 units, 1660 MHz, 1024 Mb, version 295.73)
2012.03.04 22:27:16     Terminal        CPU: AuthenticAMD AMD Athlon(tm) II X4 630 Processor with OpenCL 1.1 (4 units, 2812 MHz, 2048 Mb, version 2.0)
即使在我并不出色的硬件上,增益也是可见的。有用的测试。谢谢。(笑)。
 

我的结果,加速了133倍。

2012.03.04 23:23:30     ParallelTester_00-01 x (EURUSD,D1)       CpuTime/GpuTime = 133.8285714285714
2012.03.04 23:23:30     ParallelTester_00-01 x (EURUSD,D1)       Result on Cpu МахResult==1.24101 at 1079 pass
2012.03.04 23:23:30     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.04 23:23:30     ParallelTester_00-01 x (EURUSD,D1)       CPU time = 18736 ms
2012.03.04 23:23:11     ParallelTester_00-01 x (EURUSD,D1)       Result on Gpu МахResult==1.24101 at 1079 pass
2012.03.04 23:23:11     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.04 23:23:11     ParallelTester_00-01 x (EURUSD,D1)       GPU time = 140 ms
2012.03.04 23:23:11     ParallelTester_00-01 x (EURUSD,D1)       OpenCL init OK!
2012.03.04 23:21:47     Terminal        CPU: GenuineIntel  Intel(R) Core(TM) i7-2600 CPU @ 3.40 GHz with OpenCL 1.1 (8 units, 3392 MHz, 16366 Mb, version 2.0)
2012.03.04 23:21:47     Terminal        GPU: Advanced Micro Devices, Inc. Barts with OpenCL 1.1 (14 units, 900 MHz, 1024 Mb, version CAL 1.4.1664 (VM))
 
令人惊讶的是,在单核上,i7的速度是X6 1100T的两倍--在相当的频率下(i7约为3.8 GHz,1100T为3.7)。这些都是可以理解的,但在低线程的CPU速度上的差异是非常巨大的。
 
Mathemat:
令人惊讶的是,在单核上,i7的运行速度是X6 1100T的2倍--在相当的频率下(i7约为3.8 GHz,1100T为3.7)。这是可以理解的,这是这样的计算,但在低线程的CPU速度上的差异是巨大的。

做了很多思考,阅读谷歌。

我一直在挠头。

要么他们把最先进的mql-compiler-optimizer夹在自己身上,不给我们,要么我不知道了。

它并不像那样工作。"我不相信!"(c) KSS。

而且很可能他们有为英特尔优化的代码生成器。

反正这也是一种侮辱!我会向联合国投诉的。

 
初级英特尔)
2012.03.05 02:03:33     ParallelTester_00-01 x (EURUSD,D1)       OpenCL init OK!
2012.03.05 02:03:33     ParallelTester_00-01 x (EURUSD,D1)       GPU time = 234 ms
2012.03.05 02:03:33     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 02:03:33     ParallelTester_00-01 x (EURUSD,D1)       Result on Gpu МахResult==1.03434 at 315 pass
2012.03.05 02:04:01     ParallelTester_00-01 x (EURUSD,D1)       CPU time = 27471 ms
2012.03.05 02:04:01     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 02:04:01     ParallelTester_00-01 x (EURUSD,D1)       Result on Cpu МахResult==1.03434 at 315 pass
2012.03.05 02:04:01     ParallelTester_00-01 x (EURUSD,D1)       CpuTime/GpuTime = 117.3974358974359
2012.03.05 01:54:17     Terminal        GPU: NVIDIA Corporation GeForce GT 520 with OpenCL 1.1 (1 units, 1620 MHz, 512 Mb, version 285.62)

由于某种原因,我在日志中找不到关于CPU的一行字。

英特尔赛扬G530 2.4GHz

 

这就是我不明白的地方。

我有一个使用OpenCL 1.1的GeForce GT 440(2个单元,1660 MHz,1024 Mb,版本295.73)的GPU时间 = 1513 ms

有GeForce GT 520与OpenCL 1.1(1个单元,1620 MHz,512 Mb,版本285.62)的GPU时间 = 234 ms

这怎么可能呢?

这里 GeForce GT 440 GeForce GT 520的规格比较,我的参数更多,但运行时间却多出6.5 倍。

NVIDIA GeForce GT 440 | NVIDIA
NVIDIA GeForce GT 440 | NVIDIA
  • www.nvidia.ru
Установи GeForce в свой ПК для максимальной производительности и разгони свою цифровую жизнь. Смотри потоковые HD фильмы и выводи фотографии высокого разрешения без задержек. Создай дома 3D кинотеатр с помощью Blu-Ray 3D™ и NVIDIA® GeForce®. Разгони свои любимые приложения и раздвинь границы возможностей интернет с новым поколением браузеров с...