def METHOD_NAME(self):
    # Calling a device function requires compilation of multiple modules
    # with NVVM - one for the caller and one for the callee. This checks
    # that we don't cause an NVVM error in this case.
    @cuda.jit(device=True, debug=True, opt=0)
    def threadid():
        return cuda.blockDim.x * cuda.blockIdx.x + cuda.threadIdx.x
    @cuda.jit((types.int32[:],), debug=True, opt=0)
    def kernel(arr):
        i = cuda.grid(1)
        if i < len(arr):
            arr[i] = threadid()