recently I wrote several versions of the same program (generating Julia Sets - fractals pictures at size 17200x17200 pixels) to check the performance of a few different solutions.
I wrote versions:
- CPU (pthreads) - 252s/1 thread, 131s/2 threads, 114s/3 threads, 95s/4 threads
- CUDA - 2.51s ;)
- OpenCL - 3.39s on GPU Nvidia implementation, 16.51s on CPU Intel implementation
Testing platform: Intel Core i5 520M, GeForce 330M
My question is: How to explain OpenCL CPU score? I expected the result near 4 threads on standard implementation - about 95s, but it took much less time. While program was working CPU was busy in 390%. How could it be?
Is OpenCL using both my Core i5 and integrated Intel HD Graphics?