OpenCL: internal implementation tests in MQL5 - page 48

 
MetaDriver: But now I'll run it on 4096 bees. The CPU will count it in five minutes.

And at least post ex5, let others have some fun.

New build requires recompilation (because of CLContextCreate(), obviously). And before you've posted also ex5.

 
Mathemat:

And at least post ex5, let others have fun.

The new build needs to be recompiled (because of CLContextCreate(), obviously). And you've posted ex5 before, too.

OK.

2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CpuTime/GpuTime = 2330.657142857143
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Result on Cpu MachResult==4.02701 at 1529 pass
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Count inticators = 16; Count history bars = 50,000; Count pass = 4096
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CPU time = 326292 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Result on Gpu MachResult==4.02701 at 1529 pass
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Count inticators = 16; Count history bars = 50,000; Count pass = 4096
2012.04.08 01:58:07 ParallelTester_00-(16x7x3) (USDJPY,M30) GPU time = 140 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) OpenCL init OK!

 
MetaDriver:

OK.

2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CpuTime/GpuTime = 2330.657142857143
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Result on Cpu MachResult==4.02701 at 1529 pass
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Count inticators = 16; Count history bars = 50,000; Count pass = 4096
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CPU time = 326292 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Result on Gpu MachResult==4.02701 at 1529 pass
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Count inticators = 16; Count history bars = 50,000; Count pass = 4096
2012.04.08 01:58:07 ParallelTester_00-(16x7x3) (USDJPY,M30) GPU time = 140 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) OpenCL init OK!


Amazing! Confess which planet you are from. You speak the same language with your developers. You are making super speed calculations. There's a reason for all this. :))))
 
MetaDriver: OK.

It's a strange business. No complaints about you, of course. But here's the thing.

I run your script and get this:

2012.04.08 03:11:28    ParallelTester_00-02-d16x7x3w_new (EURUSD,H1)    OpenCL not found.


Running your very first historical script (I tweaked it with the latest CLContextCreate() modifications):

2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    CpuTime/GpuTime = 24.39193381592554
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    Result on Cpu МахResult==1.20315 at 21 pass
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    CPU time = 23587 ms
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    Result on Gpu МахResult==1.20315 at 21 pass
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    GPU time = 967 ms
2012.04.08 03:12:36    ParallelTester_00-01x (EURUSD,H1)    OpenCL init OK!

Wonderful... What to do, where to write? Must I go back to Service Desk?

P.S. By the way, why don't you make the GPU calculations not so fast, at least 300-400 ms. Maybe you've got real acceleration 100500 (recall, it's the only number greater than infinity!), and you don't know about it? I just have a suspicion that 140 ms is one of few numbers which cannot be smaller in GetTickCount() (and even if it happens, it's rare).

 
tol64:
That's amazing! Tell us what planet you are from. You speak the same language as your developers. You're making super-fast calculations. There's a reason for all this. :))))
I don't know. In Kazan, everyone writes like this.
 
MetaDriver:
I don't know. Here in Kazan they all write it that way.
And that's right.
 
Mathemat:

1. strange business. No complaints about you, of course. But here's the thing.

When I run your script, it goes like this:

2012.04.08 03:11:28    ParallelTester_00-02-d16x7x3w_new (EURUSD,H1)    OpenCL not found.

2. P.S. By the way, make sure that calculations on GPU were not so fast, at least 300-400 ms. Maybe your real speedup is 100500 (recall, it's the only number greater than infinity!) and you don't know about it? I just have a suspicion that 140 ms is one of few numbers which GetTickCount() never gets lower (and if it does, it's rare).

1. Try the version in the trailer. I recompiled it with CLContextCreate(CL_DEVICE_ANY);

2. No, no. It's ok about 140ms. (And much more too :))

zy. The acceleration is achieved through vector operations in OpenCL. Smoke the manual - it inserts. ;)

 
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    CpuTime/GpuTime = 162.8265625
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Result on Cpu МахResult==4.07621 at 824 pass
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    CPU time = 208418 ms
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Result on Gpu МахResult==4.07621 at 824 pass
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    GPU time = 1280 ms
2012.04.08 09:12:21    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    OpenCL init OK!
 
joo:

Radeon rules!!!

;)

 
MetaDriver:

Radeon rules!!!

;)

You got a lot of passes. :)