def test_blas_cgemm(backend, m, n, k, alpha, beta, forward):
b = backend()
y = indigo.util.rand64c(m,n)
M = indigo.util.rand64c(m,k)
x = indigo.util.rand64c(k,n)
if not forward:
x, y = y, x
M_exp = np.conj(M.T)
else:
M_exp = M
y_exp = alpha * M_exp.dot(x) + beta * y
y_d = b.copy_array(y)
M_d = b.copy_array(M)
x_d = b.copy_array(x)
b.cgemm(y_d, M_d, x_d, alpha, beta, forward=forward)
y_act = y_d.to_host()
np.testing.assert_allclose(y_exp, y_act, atol=1e-3)
评论列表
文章目录