How a 32-bit overflow corrupted a CUDA kernel