def METHOD_NAME(target=None):
    A = hcl.placeholder((32, 32), "A")
    B = hcl.placeholder((32, 32), "B")
    def gemm(A, B):
        k = hcl.reduce_axis(0, 32, "k")
        C = hcl.compute((32, 32), lambda i, j: hcl.sum(A[i, k] * B[k, j], axis=k), "C")
        return C
    target = None  # hcl.platform.zc706
    s = hcl.create_schedule([A, B], gemm)
    f = hcl.build(s, target)
    A = np.random.randint(10, size=(32, 32)).astype(np.float32)
    B = np.random.randint(10, size=(32, 32)).astype(np.float32)
    C = np.zeros((32, 32), dtype=np.float32)
    hcl_A = hcl.asarray(A)
    hcl_B = hcl.asarray(B)
    hcl_C = hcl.asarray(C)
    f(hcl_A, hcl_B, hcl_C)
    golden = np.matmul(A, B)
    if np.allclose(golden, hcl_C.asnumpy()):
        print("test_gemm passed")
    else:
        print("test_gemm failed")