Fix computeCurrent Deadlock

- if one of the virtual blocks had no work to do
  (because of an empty frame) the __syncthread() operation
  could cause a deadlock
- computeCurrent kernel: every thread now fetches its own
  frame(s), this was shared over a virtual block with the
  first thread performing the frame load
- the new implementation avoids non-block-global __syncthreads()
  without early returns