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)
# 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))