Closed GoogleCodeExporter closed 9 years ago
The lambda must be an IntConsumer you seem to be 'nesting' two lambdas. We
don't support that :)
Your IntConsumer is trying to create a new Runnable. We can't allocate on the
gpu.
You just want a single IntConsumer.
int buf[SOME_RANGE];
Aparapi.range(SOME_RANGE).parallel().forEach(i -> {
// Runnable aparapiDoesNotLikeMe = () -> { };
buf[i] = i;
});
Original comment by frost.g...@gmail.com
on 22 Mar 2014 at 7:55
Thanks for the quick response, Gary. I'll make sure not to allocate any new
objects on the GPU. I ran across this calling a method on an object that called
IntStream.range(), so sometimes it's not immediately clear that new Objects are
being allocated.
Original comment by adri...@caloiaro.com
on 22 Mar 2014 at 8:10
Indeed one of the issues with lambdas is that it hides such allocations.
So are you up and running on HSA device?
Did the hsailmandel demo run for you?
Gary
Original comment by frost.g...@gmail.com
on 22 Mar 2014 at 8:36
Yes sir. I'm in the process of refactoring algorithms to run on the HSA device.
Now that I know not to allocate Objects, I am moving along much more quickly.
Original comment by adri...@caloiaro.com
on 23 Mar 2014 at 2:57
Original comment by frost.g...@gmail.com
on 26 Mar 2014 at 7:48
Original issue reported on code.google.com by
adri...@caloiaro.com
on 22 Mar 2014 at 7:42