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

 

将内存置于双通道模式,结果:39倍加速,而不是29倍。

2012.03.05 09:45:56     ParallelTester_00-01 x (EURUSD,D1)       OpenCL init OK!
2012.03.05 09:45:57     ParallelTester_00-01 x (EURUSD,D1)       GPU time = 1123 ms
2012.03.05 09:45:57     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 09:45:57     ParallelTester_00-01 x (EURUSD,D1)       Result on Gpu МахResult==1.35098 at 174 pass
2012.03.05 09:46:41     ParallelTester_00-01 x (EURUSD,D1)       CPU time = 43914 ms
2012.03.05 09:46:41     ParallelTester_00-01 x (EURUSD,D1)       Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 09:46:41     ParallelTester_00-01 x (EURUSD,D1)       Result on Cpu МахResult==1.35098 at 174 pass
2012.03.05 09:46:41     ParallelTester_00-01 x (EURUSD,D1)       CpuTime/GpuTime = 39.10418521816563

为了确定,昨天做了几次测试,今天也是,结果很接近。

奇怪的是,当设置双通道模式时,CPU有0.3%的提升,但GPU有25%的提升。

 
tol64:

我有一些零的东西,那是什么意思? 在这一行:Gpu上的结果 MachResult==0.0,在0 通过时

也许我没有足够的内存,或者我需要把CountBars和/或CountPass减少一点?
 
fyords:

将内存置于双通道模式,结果:39倍加速,而不是29倍。

为了确定,昨天做了几次测试,今天也是,结果很接近。

奇怪的是,CPU在双通道模式下显示出0.3%的速度提升,但GPU却显示出25%的速度提升。

实际上,这并不奇怪。在用GPU工作时(不是用图形工作,即计算),瓶颈是RAM(在GPU上进行计算是不够的,你还需要从RAM中获得显卡的结果)。内存变得更快--GPU上的结果得到了改善。

在CPU的情况下,一切都已经存储在RAM中,不需要来回运行结果。

因此,一个有说服力的结论是:如果你想要快速的GPU计算,就安装快速内存。

 
这就解释了,谢谢你的澄清。
 
fyords:
也许内存不够,也许CountBars或/和CountPass应该减少一点?

是的,这是正确的。结果就是这样。

...这也是不错的。))

//---

如果我加入CountBars,在计算过程中,图像会闪烁和消失。

 
2012.03.05 12:40:51     Terminal        CPU: GenuineIntel Intel(R) Core(TM)2 Duo CPU T6570 @ 2.10 GHz with OpenCL 1.1 (2 units, 2094 MHz, 2048 Mb, version 2.0)

Видеоадаптер    ATI Mobility Radeon HD 545 v  (256 Мб)

2012.03.05 08:59:28     ParallelTester_00-01 x (GBPUSDL,H1)      CpuTime/GpuTime = 19.70338983050847
2012.03.05 08:59:28     ParallelTester_00-01 x (GBPUSDL,H1)      Result on Cpu МахResult==1.33921 at 366 pass
2012.03.05 08:59:28     ParallelTester_00-01 x (GBPUSDL,H1)      Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 08:59:28     ParallelTester_00-01 x (GBPUSDL,H1)      CPU time = 46500 ms
2012.03.05 08:58:41     ParallelTester_00-01 x (GBPUSDL,H1)      Result on Gpu МахResult==1.33921 at 366 pass
2012.03.05 08:58:41     ParallelTester_00-01 x (GBPUSDL,H1)      Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 08:58:41     ParallelTester_00-01 x (GBPUSDL,H1)      GPU time = 2360 ms
2012.03.05 08:58:39     ParallelTester_00-01 x (GBPUSDL,H1)      OpenCL init OK!
 

所以这个话题的结论很简单,不管你的CPU有多快,它只是显卡的一个poz :)

总之,显卡将使CPU在旧的视频模型上至少快10倍,在较新的模型上快100倍。

2012.03.05 14:31:23     ParallelTester_00-01 x (EURUSD,M15)      CpuTime/GpuTime = 364.5847953216374
2012.03.05 14:31:23     ParallelTester_00-01 x (EURUSD,M15)      Result on Cpu МахResult==1.01643 at 577 pass
2012.03.05 14:31:23     ParallelTester_00-01 x (EURUSD,M15)      Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 14:31:23     ParallelTester_00-01 x (EURUSD,M15)      CPU time = 62344 ms
2012.03.05 14:30:21     ParallelTester_00-01 x (EURUSD,M15)      Result on Gpu МахResult==1.01643 at 577 pass
2012.03.05 14:30:21     ParallelTester_00-01 x (EURUSD,M15)      Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 14:30:21     ParallelTester_00-01 x (EURUSD,M15)      GPU time = 171 ms
2012.03.05 14:30:21     ParallelTester_00-01 x (EURUSD,M15)      OpenCL init OK!
CPU: Intel P4 3 GHz, 2 kernel, RAM 3 Gb, 32 bits
GPU: NVIDIA Corporation GeForce GT 430 with OpenCL 1.1 (2 units, 1400 MHz, 1023 Mb, version 295.73)

在我的情况下,由于CPU核心速度慢,加速是364倍。

 
Urain:

所以这个话题的结论很简单,不管你的CPU有多快,它只是显卡的一个poz :)

总之你的显卡在旧的视频模型上会比你的CPU至少快10倍,在新的模型上会快100倍。

在我的情况下,由于CPU核心速度慢,差异是364倍。

哇!这是一个记录。)))

//---

我以后会试着把最新的驱动程序(295.73)放进去,也许会好一点。))

 
Urain: 同样,在较老的视频模型上,视频的性能至少要比CPU高10倍,在较新的模型上则要高100倍。

有趣的是。fyords 卡的性能更强(GeForce GT 440),计算时间要长一个数量级。

,这是个记录!)))

嗯,是的,想象一下,如果i286会代替这块石头,一些现代的怪物会代替这张牌,就很可怕了。所有你会得到的,甚至更多的几倍。

P.S. 还有谁会像我一样有一个没有独立显卡的系统?

 

2012.03.05 17:43:16 终端 CPU: GenuineIntel(R) Core(TM) i3-2100 CPU @ 3.10GHz with OpenCL 1.1 (4 units, 3092 MHz, 4008 Mb, version 2.0)

Mathemat:

...

P.S. 还有谁会像我一样拥有一个没有独立显卡的系统?

2012.03.05 17:43:16 终端 CPU: GenuineIntel(R) Core(TM) i3-2100 CPU @ 3.10GHz with OpenCL 1.1 (4 units, 3092 MHz, 4008 Mb, version 2.0)

2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD,M1) CpuTime/GpuTime = 0.734767766287369
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD,M1) Cpu的结果 MachResult==1.27347 at 1125 pass
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD, M1) Count inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD, M1) CPU时间 = 21309 ms
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD,M1) Gpu上的结果 MachResult==1.27347 at 1125 pass
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD, M1) Count inticators = 16; Count history bars = 144000; Count pass = 1280
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD, M1) GPU时间 = 29001 ms
2012.03.05 17:44:33 ParallelTester_00-01x (EURUSD,M1) OpenCL init OK!

:(((

也许我有 "错误系统的手榴弹"?(我指的是AMD SDK版本)