def test_DenseMatrix(backend, M, N, K, forward, alpha, beta):
b = backend()
A_h = indigo.util.rand64c(M,N)
A = b.DenseMatrix(A_h)
if forward:
x = b.rand_array((N,K))
y = b.rand_array((M,K))
y_exp = beta * y.to_host() + alpha * A_h.dot(x.to_host())
A.eval(y, x, alpha=alpha, beta=beta)
else:
x = b.rand_array((M,K))
y = b.rand_array((N,K))
y_exp = beta * y.to_host() + alpha * np.conj(A_h.T).dot(x.to_host())
A.H.eval(y, x, alpha=alpha, beta=beta)
npt.assert_allclose(y.to_host(), y_exp, rtol=1e-5)
评论列表
文章目录