1 subroutine mxm(a,n1,b,n2,c,n3)
6 real a(n1,n2),b(n2,n3),c(n1,n3)
21 rname(myrout) =
'mxm '
23 isbcnt = n1*n3*(2*n2-1)
24 dct(myrout) = dct(myrout) + (isbcnt)
25 ncall(myrout) = ncall(myrout) + 1
26 dcount = dcount + (isbcnt)
32 if (n2 .eq. 8 .and. mod(n1,4) .eq. 0
33 $ .and. mod(loc(a),tt).eq.0
34 $ .and. mod(loc(b),tt).eq.0
35 $ .and. mod(loc(c),tt).eq.0
40 if (n2 .eq. 16 .and. mod(n1,4) .eq. 0
41 $ .and. mod(loc(a),tt).eq.0
42 $ .and. mod(loc(b),tt).eq.0
43 $ .and. mod(loc(c),tt).eq.0
48 if (n2 .eq. 10 .and. mod(n1,4) .eq. 0 .and. mod(n3,2) .eq. 0
49 & .and. mod(loc(a),tt).eq.0
50 & .and. mod(loc(b),tt).eq.0
51 & .and. mod(loc(c),tt).eq.0
56 if (n2 .eq. 6 .and. mod(n1,4) .eq. 0 .and. mod(n3,2) .eq. 0
57 & .and. mod(loc(a),tt).eq.0
58 & .and. mod(loc(b),tt).eq.0
59 & .and. mod(loc(c),tt).eq.0
67 if ((n1*n2*n3)**(1./3) .gt. 6)
then
68 call libxsmm_dgemm(
'N',
'N',n1,n3,n2,1.0,a,n1,b,n2,0.0,c,n1)
76 call dgemm(
'N',
'N',n1,n3,n2,1.0,a,n1,b,n2,0.0,c,n1)
80 101
call mxmf2(a,n1,b,n2,c,n3)
90 real a(n1,n2),b(n2,n3),c(n1,n3)
92 call mxmf2(a,n1,b,n2,c,n3)
real *8 function dnekclock()
subroutine dgemm(TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
subroutine mxm_bgq_16(a, n1, b, n2, c, n3)
subroutine mxm_bgq_10(a, n1, b, n2, c, n3)
subroutine mxm_bgq_8(a, n1, b, n2, c, n3)
subroutine mxm_bgq_6(a, n1, b, n2, c, n3)
subroutine mxmf2(A, N1, B, N2, C, N3)
subroutine fgslib_mxm(a, n1, b, n2, c, n3)
subroutine mxm(a, n1, b, n2, c, n3)