OpenCL: internal implementation tests in MQL5 - page 37

 
joo: And it's most likely not about memory, but about the OpenCL driver's task paralleling mechanism itself. You need to experiment with multiples of the number of flies.
What if I don't know how many flies I have (Intel HD Graphics 1000)? Either 6 or considerably more... If there are 6, where does a 25x increase in execution speed come from?
 
Mathemat:
What if I don't know how many flies I have (Intel HD Graphics 1000)? Either 6 or considerably more... If there are 6, where does the 25x increase in execution speed come from?
The x25 gain is from my genius, well a bit from vector operations. The scalar product of vectors counts on the GPU very quickly.
 
MetaDriver: x25-growth is from my genius, well a bit from vector operations. The scalar product of vectors counts on the GPU very quickly.

Keep in mind that these 6 bees run at 1.1 GHz, which is 2.5 times lower than the stone frequency. So that's 2.5 conditional bees running at the frequency of the stone. But where does 25x come from?

 
Mathemat:

Don't forget that these 6 bees are running at 1.1 GHz, which is 2.5 times lower than the rock frequency. That is 2.5 conditional bees operating at the frequency of the stone. But where does 25x come from?

SSE handles 4 float at a time * 2 cores + compiler optimizations.
 
mql5: SSE handles 4 float at a time * 2 cores + compiler's optimizations.

So all the work is done on the CPU cores - not on the bees of the embedded GPU?

And the second: if not on bees, then how to make the code run exactly on them?

P.S. AMD made this mess with powerful onboard GPU for a reason: there are as many as 400 bees in A8-3850...

P.P.S. So, a developer's representative showed up and ran away again :(

 
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 with OpenCL 1.1 (16 units, 1225 MHz, 1536 Mb, version 285.62)
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 with OpenCL 1.1 (16 units, 1225 MHz, 1536 Mb, version 285.62)
 
casinonsk: ^^^^ how to test?
Run as a script any of the codes posted by MetaDriver.
 
Mathemat:
Run as a script any of the codes posted by MetaDriver.

RunOpenCL.

1 core was loaded at an average of 50%.

2 core not used at all.

 
casinonsk:
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 with OpenCL 1.1 (16 units, 1225 MHz, 1536 Mb, version 285.62)
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 with OpenCL 1.1 (16 units, 1225 MHz, 1536 Mb, version 285.62)
^^^ how to test?

Dual-boost GPUs are here. Very interesting. Which CPU is it?

Run the script in the attachment.

Files:
 
Mathemat:

So all the work is done on the CPU cores - not on the bees of the embedded GPU?

And the second: if not on bees, then how to make the code run exactly on them?

P.S. AMD made this mess with powerful onboard GPU for a reason: there are as many as 400 bees in A8-3850...

P.P.S. So, a representative of developers appeared and ran away again :(

I could be wrong about the fact that it works on CPU, but judging by your post and knowing the internal peculiarities, it is quite possible that the work was done on CPU emulation of AMD.
Unfortunately in current implementation the choice of device is up to the terminal, but in the next build it will be possible to choose one of available devices by yourself.