
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Something's not working for me. The initialisation line is fine:
2012.04.01 05:52:01 Terminal CPU: GenuineIntel Intel(R) Pentium(R) CPU G840 @ 2.80GHz with OpenCL 1.2 (2 units, 2793 MHz, 7912 Mb, version 2.0 (sse2))
(I put OpenCL 1.1 from AMD, and 1.2 on top of it). But now running the test gives out
2012.04.01 06:06:49 ParallelTester_00-01x (EURUSD,H1) OpenCL not found.
Before that, I updated Intel Graphics Driver for newer version and then took down AMD drivers with their own installation, and then installed it again.
What am I doing wrong now?
P.S. Soon Ivy will come and it will really show what Intel can do in integrated graphics, together with Intel HD 4000. Look at the graphics.
What am I doing wrong now?
What am I doing wrong now?
In the new build, the parameter of CLContextCreate function was changed, int device is used instead of bool use_gpu.
with device>=0 is used as number of OpenCL device in sequence
with device==OPENCL_DEVICE_ANY (-1) used to automatically select from all available devices
with device==OPENCL_DEVICE_GPU (-2) used to automatically select from all available GPU devices
Could you please show me how to do this in the code? I call CLContextCreate( OPENCL_DEVICE_ANY ) and get the result on compilation:
'OPENCL_DEVICE_ANY' - undeclared identifier ParallelTester_00-01x.mq5 145 31
Build 619.
And second question: where can I find the latest help?
P.S. It worked as soon as I set the argument to -1. The OPENCL_DEVICE_ANY constant has not been declared yet :)
But in future builds it will be CL_USE_ANY/CL_USE_GPU_ONLY
I decided to check how OpenCL will work on i3-2120 (it's not my compute, no discrete video in the system). Installed AMD APP SDK, OpenCL-Z detected everything. The terminal displayed a line during initialization:
2012.04.02 03:59:47 Terminal CPU: GenuineIntel Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz with OpenCL 1.1 (4 units, 3310 MHz, 8039 Mb, version 2.0)
Checked it on MetaDriver code attached to this post and slightly modified with latest changes in 619 build (see first tests here). Result:
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) CpuTime/GpuTime = 0.741385550890401
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) Result on Cpu МахResult==0.79567 at 734 pass
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) CPU time = 20483 ms
2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) Result on Gpu МахResult==0.79567 at 734 pass
2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) GPU time = 27628 ms
2012.04.02 03:59:55 ParallelTester_00-01x (EURUSD,H1) OpenCL init OK!
At runtime on the "GPU", all four threads of the processor were fully occupied, 100%.
What do I need to do to get acceleration? On a Pentium G840-based system (also without discrete video), it was 25 times faster:
P.S. I sent a message to Service Desk, but I'm afraid this is rather my problem... I have apparently learned how to install and uninstall AMD APP SDK correctly with my eyes closed, but I guess I have not got around to all pitfalls. Although Intel OpenCL Runtime is installed on my system, it is still not recognized in the terminal as an OpenCL device.
P.P.S. Turns out, here's something else I dug up(https://www.mql5.com/ru/forum/6042/page25):
Ashes: 2012.03.05 17:43:16 Terminal CPU: GenuineIntel Intel(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) Result on 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 time = 21309 ms
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD,M1) Result on 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 time = 29001 ms
2012.03.05 17:44:33 ParallelTester_00-01x (EURUSD,M1) OpenCL init OK!
:(((
Maybe I have "grenades of the wrong system"? (I mean AMD SDK version)
GPU+OpenCL is a great tool, after all!
2012.04.08 00:41:22 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CpuTime/GpuTime = 728.1857142857143
2012.04.08 00:41:22 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Result on Cpu MachResult==3.78654 at 50 pass
2012.04.08 00:41:22 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Count inticators = 16; Count history bars = 50,000; Count pass = 1280
2012.04.08 00:41:22 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CPU time = 101946 ms
2012.04.08 00:39:40 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Result on Gpu MachResult==3.78654 at 50 pass
2012.04.08 00:39:40 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Count inticators = 16; Count history bars = 50,000; Count pass = 1280
2012.04.08 00:39:40 ParallelTester_00-02-(16x7x3) (USDJPY,M30) GPU time = 140 ms
GPU+OpenCL is a great tool, after all!
2012.04.08 00:39:40 ParallelTester_00-02-(16x7x3) (USDJPY,M30) GPU time = 140 ms
I propose to make the tests so that the GPU calculation time is not so small. Anyway, 140 ms, imho, is too unreliable value, especially with GetTickCount() measurement errors in tens of milliseconds.
MD, that's me being so jealous of you.
I suggest making the tests so that the GPU computation time is not so small.
I don't have the patience to wait for a CPU :) The further into the woods the cooler the GPU is...
Likewise. :)
But I'll run it on 4096 bees. The CPU will count it in five minutes.