Exemple #1
0
def equality(N, M, K):
    np.random.seed(1)
    a = np.random.rand(M, K)
    b = np.random.rand(K, N)
    c1 = dg.dgemm_py_blas(a, b)
    c2 = dg.dgemm_py_loops(a, b)
    diff = np.absolute(c1 - c2)
    return np.sum(diff)
Exemple #2
0
# prevent local path import (C++ module import would fail)
from __future__ import absolute_import
import timeit
import numpy as np
import dgemmPy as dg

np.random.seed(1)

M = 40
N = 500
K = 52

a = np.random.rand(M, K)
b = np.random.rand(K, N)

c1 = dg.dgemm_py_blas(a, b)
c2 = dg.dgemm_py_loops(a, b)
c3 = dg.dgemm_C_loops(a, b)
c4 = dg.dgemm_C_blas(a, b)
c5 = dg.dgemm_C_loops_avx(a, b)
c6 = dg.dgemm_C_loops_avx_omp(a, b)
c7 = dg.dgemm_C_loops_avx_tp(a, b)
# c8 = dg.sgemm_cuda_loops(a, b)
# c9 = dg.dgemm_cuda_loops(a, b)
# c10 = dg.sgemm_cuda_cublas(a, b)
# c11 = dg.dgemm_cuda_cublas(a, b)

print(np.sum(c1 - c2))
print(np.sum(c1 - c3))
print(np.sum(c1 - c4))
print(np.sum(c1 - c5))