OpenCL: internal implementation tests in MQL5 - page 39

 
casinonsk: The second one is still at 0 load.

And the third? Or is there none?

QE 0 ParallelTester_00-01x__1 (EURUSD,H1) 13:23:02 Count inticators = 16; Count history bars = 144000; Count pass = 480000

EF 0 ParallelTester_00-01x__1 (EURUSD,H1) 13:23:02 Result on Gpu MachResult==0.0 at 0 pass

I have the impression that the test went somehow wrong. Oh, and set Count pass to a lower value, 1280 is enough.

And where are the comparative results CPU vs GPU?

 
joo:


At CountPass 262144 the video card driver crashes unconscious. However, it rises again immediately.

I found out by Professor Tychkov's method that CountPass cannot be more than 6628025 with CountBars 10, otherwise the MQL compiler refuses to compile and generates an error:

'inds' - global variables section is too large ParallelTester_00-01x.mq5 86 7

When CountBars is smaller, the compiler skips even more awful values of CountPas.

2012.03.17 20:40:36     ParallelTester_00-01 x (EURUSD,H1)       Соunt inticators = 16; Count history bars = 10; Count pass = 6628025
2012.03.17 20:40:36     ParallelTester_00-01 x (EURUSD,H1)       GPU time = 717 ms

Oh, dear!

How does the MQL compiler know that there simply is not enough memory on the GPU (or not on the GPU???)? - It looks like the video card driver crashes because of the lack of memory.


to Vladimir:

And why should I give each fly the same array (memory is consumed in direct proportion to the number of CountPass) ? - Let them take data from one common array.

 
joo:

to Vladimir:

Why should I give each fly the same array (the memory is consumed in direct proportion to the number of CountPass) ? - Let them take data from one common array.

They already have one common array of prices and indicators.

And in the array whose length is CountPass, there are non-grids (an optimized parameter). It is individual for each grid.

--

... But I like the way you think. :)

 
joo:

I found out by Professor Tychkov's method that CountPass cannot be greater than 6628025 with CountBars of 10, otherwise the MQL compiler refuses to compile and generates an error:

'inds' - global variables section is too large ParallelTester_00-01x.mq5 86 7

When CountBars is smaller, the compiler skips even more awful values of CountPas.

Oh, dear!

How does the MQL compiler know that there simply is not enough memory on the GPU (or not on the GPU???)? - It looks like the video card driver will crash because of the lack of memory.

А! So, there is an elementary plus in my code (line 82).

////////////float nets[sizeof(NETs)];   // Вот так было. В корне неправильно.
////////////float inds[sizeof(Inds)];  

////////////float nets[sizeof(NETs)/sizeof(float)];  // Вот так будет видно в чём была ошибка.
////////////float inds[sizeof(Inds)/sizeof(float)];  // И в принципе будет работать, хотя лучше...
// ...Вот так - правильно и понятно откуда ноги.
float nets[CountPass*CountInd];
float inds[CountInd*CountBars];  

Fix it and get almost a quadruple "memory boost" .....nasharoo...!!! :)))))))))))))

// It makes me feel like Father Christmas at times like this... ;)

 
MetaDriver:

// At times like this I feel like Father Christmas... ;)

// If you're Father Christmas, who am I?... ;)
 
I looked at the English-language forum of the five. There is a similar thread, but the activity and interest shown is incomparable to that on the Russian-language forum.
 
Mathemat:

And the third? Or is there none?

It seems as if the test went wrong somehow. And set Count pass to a smaller value, 1280 is enough.

And where are the comparative results on CPU vs GPU?

CL 0 ParallelTester_00-01x__1 (EURUSD,H1) 00:02:09 OpenCL init OK!
IH 0 ParallelTester_00-01x__1 (EURUSD,H1) 00:02:09 GPU time = 187 ms
FN 0 ParallelTester_00-01x__1 (EURUSD,H1) 00:02:09 Count inticators = 16; Count history bars = 144000; Count pass = 1280
CL 0 ParallelTester_00-01x__1 (EURUSD,H1) 00:02:09 Result on Gpu MachResult==0.92493 at 1190 pass
 

Youmust have an MQL function that returns the temperature of the video card. Otherwise, it's a good way to get burnt out. Not on your own, so on the client's.

// If there is no MQL-function, you will have to use DLL, which is not good - the market is cut off and other inconveniences.

 
MetaDriver:

You must have an MQL function that returns the temperature of the video card. Otherwise, it's a good way to get burnt out. Not on your own, so on the client's side.
It should also return the limit temperature and slow down the calculations itself when approaching the limit temperature. There are different graphics cards and different heat dissipation.
 
MetaDriver:

Youmust have an MQL function that returns the temperature of the video card. Otherwise, it's a good way to get burnt out. Not on your own, so on the client's.

// If there is no MQL-function, we will have to use a DLL, which is not good - the market is cut off and other inconveniences.

Computer games don't care about GPU temperature and load the hell out of it, and nothing happens - graphics cards work. And no gamer would think of asking the game publisher to slow down FPS itself so as not to spoil the GPU. With gamers analogy is direct - we need speed, and the temperature should be taken care of additionally if necessary (additional cooling system).

Then you also need MQL-function returning CPU temperature. Otherwise, the processor will get burnt out.


FPS if it's feasible, why not? - It wouldn't hurt, of course.

Reason: