remove early returns
Early returns within a kernel can have unexpected behavior, this strongly depends on the opencl runtime compiler. To avoid errors all early returns are removed. There is no negative effect(e.g.performance) if the threads stay alive up to the end of the kernel. One source for the early return is: http://al-key-opencl.blogspot.de/2014/09/be-careful-not-to-mix-early-return-and.html This pull request also fix a race condition where all fill the shared memory. Also a bug introduced with #16 is fixed, because of the early return not was possible that the last block works with an wrong initilized shared memory (result should be a wrong hash if the result target size is valid).
Please register or sign in to comment