I am having a weird problem where half of the elements in my queue are not being processed (or so it seems) when running on GPU, but everything works ok when switching to CPU.
I tried to change the number of elements and no matter how few I use only the first half gets processed correctly, while the rest is apparently picking up default values for the output buffer. Even though the init vectors are correctly initialized when I peek at them, it almost looks like the second half of the vector values are being passed to the kernel as default values (doubles), but I am not really sure that those items are being processed by the kernel at all.
The kernel is quite simple [http://goo.gl/KiyyK], it's just a pass-through for one of the input buffers (I am only testing that I can invoke it OK) and I just assign the value from one of the input buffers to the relevant output buffer. I am inclined to think the kernel is not the problem since it works fine on CPU.
I know it's quite a bit of code to go through, so I am just asking if any of this rings a bell.
Re: Kernel not processing half of the elements on GPU, works fine on CPU
Thanks for having a look - after posting on the khronos forums about another issue I was having I was forced to switch to floats (apparently my GPU doesn't support doubles). After that it seems to work OK. I am kind of thinking that the issue was caused by lack of double support too, but it's very strange nonetheless, and I don't understand why were half of the stuff being processed correctly. Weird!
Now everything is working OK anyway ... but I already have another question that I will post soon :)
it uses doubles in host code (java app) and sets
kernel.setForce32BitArgs(true) for double->float conversion in the
kernel.putArg() methods. (+ it recompiles the program with different
On 05/17/2011 07:42 PM, Giovanni Idili [via jogamp] wrote:
> Thanks for having a look - after posting on the kronos forums about
> http://www.khronos.org/message_boards/viewtopic.php?f=37&t=3894 another
> issue I was having I was forced to switch to floats (apparently my GPU
> doesn't support doubles). After that it seems to work OK. I am kind of
> thinking that the issue was caused by lack of double support too, but it's
> very strange nonetheless, and I don't understand why were half of the stuff
> being processed correctly. Weird!
> Now everything is working OK anyway ... but I already have another question
> that I will post soon :)