def METHOD_NAME():
    A = hcl.placeholder((32, 32), "A")
    def kernel(A):
        B = hcl.compute((32, 32), lambda i, j: A[i, j] + 1, "B")
        C = hcl.compute((16, 16), lambda i, j: B[i, j] + 1, "C")
        D = hcl.compute((8, 8), lambda i, j: C[i, j] + 1, "D")
        return D
    s = hcl.create_schedule([A], kernel)
    s.outline(s[kernel.B], s[kernel.C], s[kernel.D], unify=True)
    # print(hcl.lower(s))
    mod = hcl.build(s)
    print(s.device_module)
    np_A, np_D = np.zeros((32, 32)), np.zeros((8, 8))
    hcl_A = hcl.asarray(np_A)
    hcl_D = hcl.asarray(np_D)
    mod(hcl_A, hcl_D)
    print(hcl_D.asnumpy())