OpenCL: internal implementation tests in MQL5 - page 28

 

fyords:

Mathemat:

...

And why is your test so bad if the execution time is 171 ms - 360 times less than on CPU? By the way, such an excess on 96 cores indicates that the graphics card was obviously released much later than the stone...


Urain seems to have asked the question on the forum for me, he's probably happy, I'm not.

Yeah, I'm happy with my test.

Yes, my graphics card was taken much later, it was joo on the wave of interest to GPU calculations, almost forced me to upgrade, I'm really not looking for power, put the first that supports OpenCL (native did not support) paid extra 50$, it was enough to GeForce GT 430,

That's the advantage of add-in cards over integrated ones (you can swap them out).

 
MetaDriver:

...

Here's a look. (And try it):

The result (time) is even better than average. More often less than 2 seconds.

... The main thing is to grow hands from the right place.;)

2012.03.06 20:59:57     ParallelTester_00-02 (EURUSD,H1)        Generation 42: MaxResult==1.72471
2012.03.06 20:59:58     ParallelTester_00-02 (EURUSD,H1)        Generation 43: MaxResult==1.72471
2012.03.06 21:00:00     ParallelTester_00-02 (EURUSD,H1)        Generation 44: MaxResult==1.72471
2012.03.06 21:00:00     ParallelTester_00-02 (EURUSD,H1)        Optimization is closing. Best result == 1.72471 at 44 generation.

My report looks different somehow (this is from tab "Experts").

2012.03.06 20:58:51     Scripts script ParallelTester_00-02 (EURUSD,H1) loaded successfully
2012.03.06 21:00:00     Scripts script ParallelTester_00-02 (EURUSD,H1) removed

And this is from Log tab. Otherwise the time of execution is nowhere to be seen.

Regarding the hands: More details here, please. )) Judging by my report, something went wrong.

It seems to me, in the attachment is not the script.

 
fyords:

I think it's the wrong script in the attachment.

Me too.

Here's an even better one.

// Finally got the inline function working! All I had to do was move it to the back of the kernel... :)

// and deleted extra assignment there, too).

Also renamed it to make it shorter.

Files:
po_00-02.mq5  16 kb
 
2012.03.06 21:29:54     po_00-02 (EURUSD,H1)    Generation 014 (1280 passes, 1419 ms) : MaxResult==108.5111; Average Result==95.57567
2012.03.06 21:29:56     po_00-02 (EURUSD,H1)    Generation 015 (1280 passes, 1388 ms) : MaxResult==108.5111; Average Result==95.4675
2012.03.06 21:29:56     po_00-02 (EURUSD,H1)    Optimization finished. Best result == 108.5111 at 15 generation.
2012.03.06 21:29:56     po_00-02 (EURUSD,H1)    Total time of optimization == 21 sec 388 ms

There, now that's different, it's already impressive.

At the same time, the bugs on the forum are coming to light.

And you, MetaDriver, could give webinars on neuronics.

 
fyords:

That's why the bugs are popping up on the forum.

It seems that instead of "optimizer-00-02" I put "tester-00-02". I'll clean up the redness...
 
Urain:

Yeah, I'm happy with my test.

Yes, the graphics card was taken much later, it was joo on the wave of interest to GPU calculations, practically forced me to upgrade, I really did not strive for power put the first that supports OpenCL (native did not support) paid extra 50$ which was enough for GeForce GT 430,

that's the advantage of a plug-in card over an integrated card (you can swap them out).

I feel very uncomfortable/uncomfortable.

sorry.

I bought some hardware, they said I'd get it back in a week and I'll show you the results...

Actually, I'm really sorry. I'm really sorry. I'm sorry.

 
joo:

I feel very uncomfortable/uncomfortable.

Sorry.

I bought some hardware. They said I'd have it back in a week. I'll show you the results then.

I'm really sorry. I'm really sorry. I'm sorry.

Nope. No, you're not.

People like you don't belong on this forum. Too late to repent! Only blood will wash away your er... I don't know what you're guilty of.

 
MetaDriver:

...

Here's a look. (And try it):

The result (time) is even better than average. More often less than 2 seconds.

So the slow cards are also in business. The main thing is to grow hands from the right place. ;)

)) Let's grow them slowly. It's the result on my weak one:

This is at CountBars 100000. It can't take more than that, it's going down.

 

And my "horseless car":

2012.03.07 00:24:15    po_00-02 (EURUSD,H1)    Total time of optimization == 15 sec 85 ms
2012.03.07 00:24:15    po_00-02 (EURUSD,H1)    Optimization finished. Best result == 118.01072 at 16 generation.
2012.03.07 00:24:15    po_00-02 (EURUSD,H1)    Generation 016 (1280 passes, 874 ms) : MaxResult==118.01072; Average Result==109.83479
2012.03.07 00:24:14    po_00-02 (EURUSD,H1)    Generation 015 (1280 passes, 858 ms) : MaxResult==118.01072; Average Result==110.0862
2012.03.07 00:24:13    po_00-02 (EURUSD,H1)    Generation 014 (1280 passes, 920 ms) : MaxResult==118.01072; Average Result==110.48174

Anyway, I'm sick of testing other people's work. I'm going to make my own, which is what I need. I'll post it here when I'm done.

 
tol64:

)) We'll be growing slowly. This is the result on my weak one:

It's at CountBars 100,000. It can't survive more than that and crashes.

Try to reduce the number of parallel threads (CountPass). For example, try to halve or quadruple them at once to begin with. 1280 is a VERY large number for an algorithm. joo told me that the optimal population size is 50-60 individuals. 1280 is way too large. I put it there purely for stress testing.

You might have a speed bump precisely because of excessive thread demand (in card terms).

--

Go for 512 and see what you get. Don't be afraid to mince your program, it'll make it better. :) When you've done it, post it here.