Skip to content
  • psychocrypt's avatar
    remove early returns · 2c2d05e5
    psychocrypt authored
    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).
    2c2d05e5
Loading