def METHOD_NAME(lA: dace.int32[4 * P, 16]):
    gather_grid = dace.comm.Cart_create([2, P // 2])
    A = np.empty_like(lA, shape=(8 * P, 8 * P))
    subarray = dace.comm.BlockGather(lA, A, gather_grid)
    return A