OpenCL: internal implementation tests in MQL5 - page 30

 
2012.03.08 11:01:12     ParallelTester_00-02-j16x7x3z (EURUSD,M30)      OpenCL init OK!
2012.03.08 11:01:16     ParallelTester_00-02-j16x7x3z (EURUSD,M30)      GPU time = 3962 ms
2012.03.08 11:01:16     ParallelTester_00-02-j16x7x3z (EURUSD,M30)      Соunt inticators = 16; Count history bars = 144000; Count pass = 1024
2012.03.08 11:01:16     ParallelTester_00-02-j16x7x3z (EURUSD,M30)      Result on Gpu МахResult==1.45763 at 821 pass
2012.03.08 11:07:01     ParallelTester_00-02-j16x7x3z (EURUSD,M30)      CPU time = 345465 ms
2012.03.08 11:07:01     ParallelTester_00-02-j16x7x3z (EURUSD,M30)      Соunt inticators = 16; Count history bars = 144000; Count pass = 1024
2012.03.08 11:07:01     ParallelTester_00-02-j16x7x3z (EURUSD,M30)      Result on Cpu МахResult==1.45762 at 821 pass
2012.03.08 11:07:01     ParallelTester_00-02-j16x7x3z (EURUSD,M30)      CpuTime/GpuTime = 87.19459868753155

Again, papaklass has onboard video, I have discrete, the CPU is the same, difference is negligible.

Raraklass what is your axis bitrate and axis?

 
papaklass:

W7 32bit.

Thanks. Me too, ok, I think by the time I get to OpenCL, all the bugs will be fixed and everything will work fine.
 
MetaDriver:

...

I'm not posting the source code because of greed, but for those who want to try it out on their own hardware, there's an ex5 in the trailer.

That's it, I'm out. I'm out, and the input is closed to tweak. ))

FE      0       ParallelTester_00-02-j16x7x3z (AUDUSD,M5)       14:55:06        OpenCL init OK!
ED      0       ParallelTester_00-02-j16x7x3z (AUDUSD,M5)       14:55:10        GPU time = 3946 ms
LS      0       ParallelTester_00-02-j16x7x3z (AUDUSD,M5)       14:55:10        Соunt inticators = 16; Count history bars = 144000; Count pass = 1024
KS      0       ParallelTester_00-02-j16x7x3z (AUDUSD,M5)       14:55:10        Result on Gpu МахResult==0.0 at 0 pass
GK      0       ParallelTester_00-02-j16x7x3z (AUDUSD,M5)       15:01:07        CPU time = 356587 ms
HI      0       ParallelTester_00-02-j16x7x3z (AUDUSD,M5)       15:01:07        Соunt inticators = 16; Count history bars = 144000; Count pass = 1024
HI      0       ParallelTester_00-02-j16x7x3z (AUDUSD,M5)       15:01:07        Result on Cpu МахResult==1.05885 at 866 pass
KM      0       ParallelTester_00-02-j16x7x3z (AUDUSD,M5)       15:01:07        CpuTime/GpuTime = 90.36670045615813

If you have a minute to spare, you can tweak ex5 for my nag. )) Well, make the passes smaller, for example, 512, or bars 100000. If I don't, I don't. I'll have to study everything later anyway. )) You have already given me plenty of examples to study. Thank you.

 
tol64:

That's it, I'm overboard. I'm out and tinkering with the entrance is closed. ))

If you have some free time, you can correct ex5 for my nag. )) Make less passes, for example, 512, or bars 100000........................ Thanks.

Nivapros.

2012.03.08 16:37:13    ParallelTester_00-02-(16x7x3) (EURUSD,M30)    CpuTime/GpuTime = 191.7058823529412
2012.03.08 16:37:13    ParallelTester_00-02-(16x7x3) (EURUSD,M30)    Result on Cpu МахResult==1.16557 at 228 pass
2012.03.08 16:37:13    ParallelTester_00-02-(16x7x3) (EURUSD,M30)    Соunt inticators = 16; Count history bars = 100000; Count pass = 256
2012.03.08 16:37:13    ParallelTester_00-02-(16x7x3) (EURUSD,M30)    CPU time = 35849 ms
2012.03.08 16:36:37    ParallelTester_00-02-(16x7x3) (EURUSD,M30)    Result on Gpu МахResult==1.16557 at 228 pass
2012.03.08 16:36:37    ParallelTester_00-02-(16x7x3) (EURUSD,M30)    Соunt inticators = 16; Count history bars = 100000; Count pass = 256
2012.03.08 16:36:37    ParallelTester_00-02-(16x7x3) (EURUSD,M30)    GPU time = 187 ms
2012.03.08 16:36:37    ParallelTester_00-02-(16x7x3) (EURUSD,M30)    OpenCL init OK!

--

By the way, toad-toad, the CL code is still freely available.

I can even comment on it in detail if anyone has any questions.

It's called cl_ParallelTester_00-02-(16x7x3).cl after you run the script.

 
MetaDriver:

Nivapros.

By the way, toad-toad, the CL code is still freely available.

It is called cl_ParallelTester_00-02-(16x7x3).cl after running the script.

Unfortunately, even this variant blows my laptop brains out. )))

At first, I launched the old variant by mistake and thought that life had ended because the whole screen was covered with "snow". And even closing the terminal didn't help. But rebooting helped and life came back to me. When it happened, like a true western hero, I managed to press PrtSc and captured the spectacle of light. I didn't think it would work, but it did. Here's what it looked like:

//---

So there they are, tasty cakes from Vladimir Gomonov. It was interesting. )))

 
tol64:

1. unfortunately even this option blows my laptop's mind. )))

2. And at first, by mistake, I ran the old variant and thought life was over, as the whole screen was covered with "snow".

1. solvable. Here's another variant. 50000 bars x 128 passes.

// Even better than before - I added a stepped activation function to the neural network.

// (the previous version was linear, which on real meshes is pretty pointless)

2... This happens when you overload the GPU. I've had more than that. ;-)

 
MetaDriver:

It can be solved. Here's another option. 50,000 bars x 128 passes

// Even better than before - added a stepped activation function to the neural network.

// (the previous version was linear, which on real meshes is rather pointless)

Thanks. Here's the result:

OR      0       ParallelTester_00-02-a16x7x3u (AUDUSD,M5)       16:27:08        OpenCL init OK!
DD      0       ParallelTester_00-02-a16x7x3u (AUDUSD,M5)       16:27:11        GPU time = 2216 ms
PR      0       ParallelTester_00-02-a16x7x3u (AUDUSD,M5)       16:27:11        Соunt inticators = 16; Count history bars = 50000; Count pass = 128
EQ      0       ParallelTester_00-02-a16x7x3u (AUDUSD,M5)       16:27:11        Result on Gpu МахResult==3.56957 at 14 pass
QI      0       ParallelTester_00-02-a16x7x3u (AUDUSD,M5)       16:27:29        CPU time = 17894 ms
GH      0       ParallelTester_00-02-a16x7x3u (AUDUSD,M5)       16:27:29        Соunt inticators = 16; Count history bars = 50000; Count pass = 128
FJ      0       ParallelTester_00-02-a16x7x3u (AUDUSD,M5)       16:27:29        Result on Cpu МахResult==3.56957 at 14 pass
OL      0       ParallelTester_00-02-a16x7x3u (AUDUSD,M5)       16:27:29        CpuTime/GpuTime = 8.074909747292418

//---

Here's a question (to the developers probably more). Why do the previous variants have such a killer effect on the map? By the way, Barnsley fern also ends up crashing on me when zooming in deep. Is this problem solved in some way in programming or will the terminal mechanism eventually be able to control this. I mean, there shouldn't be a crash, there should just be a longer computation time.

 
tol64:

Thank you. Here's the result:

//---

Here's a question (probably more to the developers). Why are the previous options so killer on the map? By the way, Barnsley fern also ends up crashing on me when zooming in deep. Is this problem solved in some way in programming or will the terminal mechanism eventually be able to control this. I mean there shouldn't be a crash, there should just be a longer computation time.

Please.

--

This may sound unexpected, but I strongly oppose control by the terminal - it will slow down on checks.

And this despite the fact that my fern had torn the videotape driver at all with strong upscaling.

// True, the system didn't crash - the driver rebooted itself with a critical error message.

// But the terminal deadlocked - I had to kill it from task manager

Rather, the GPU_Info(int GPU_PARAM_xxx) function which retrieves the system information about video card, including the maximum total amount of buffers allowed for one task, should be created. Then the programmer himself can take care of not exceeding the limits.

Документация по MQL5: Программы MQL5 / Ошибки выполнения
Документация по MQL5: Программы MQL5 / Ошибки выполнения
  • www.mql5.com
Программы MQL5 / Ошибки выполнения - Документация по MQL5
 
MetaDriver:

Rather, the GPU_Info(int GPU_PARAM_xxx) function which retrieves system information about the video card, including the maximum amount of buffers for one task, should be created. Then the programmer himself can take care of not exceeding the limits.

Your suggestion is better, but in principle in the same vein - Control. Some users may get gray hair beforehand from such dancing or have anger attack. On whom all this will be poured out then. Right, the programmers. There will be more work for arbitrage. And no one needs it. )))
 

Link from AlexEro's post on "quaternary": Table of all more or less modern AMD video cards.

If you are interested in support of double precision in calculations - see column FP64 (Double Precision) - double precision floating point calculations. It is penultimate in the table. If there is "-", it means it is not supported.

Reason: