Coverage for gpaw/test/linalg/test_gemm.py: 100%

20 statements  

« prev     ^ index     » next       coverage.py v7.7.1, created at 2025-07-14 00:18 +0000

1from time import time 

2 

3import numpy as np 

4import pytest 

5 

6from gpaw.utilities.blas import mmm 

7 

8 

9@pytest.mark.ci 

10def test_linalg_gemm(): 

11 n = 1000 

12 a1 = np.eye(n) 

13 a1 += 0.0001 

14 a2 = 2 * a1 

15 

16 b = np.zeros((n, n)) 

17 t0 = time() 

18 mmm(1.0, a1, 'N', a2, 'N', 0.0, b) 

19 tgpaw = time() - t0 

20 print('gpaw.gemm ', tgpaw) 

21 

22 t0 = time() 

23 np.dot(a1, a2) 

24 tnumpy = time() - t0 

25 print('numpy.dot ', tnumpy) 

26 

27 """ 

28 SLID: 

29 gpaw.gemm 0.41842508316 

30 numpy.dot 11.26800704 

31 

32 p019: 

33 gpaw.gemm 0.444674015045 

34 numpy.dot 11.8213479519 

35 

36 m022: 

37 gpaw.gemm 0.446084022522 

38 numpy.dot 11.9757530689 

39 

40 u091: 

41 gpaw.gemm 0.377645015717 

42 numpy.dot 0.389540910721 

43 

44 CASIMIR: 

45 gpaw.gemm 2.19097900391 

46 numpy.dot 8.21617603302 

47 

48 THUL: 

49 gpaw.gemm 0.520259857178 

50 numpy.dot 0.505489110947 

51 """