program mul7
c     parameter (n=2000,m=2000)
         parameter (n=5500,m=5500)
         real*8 a(n,m),b(m,n),c(n,n),d(n,n)

         dimension dum(2)
         character*1 transa,transb
         data transa,transb/'n','n'/
c	data transa,transb/'t','n'/

c	do 5 nu=2,10
c	n=2**nu
         ops=2.*n**3
         call drnlcgu(n*m,a,1)
         call drnlcgu(n*m,b,1)
c	compute C=AxB
c	call matgen(a,n,m)
c	write(6,100)((a(i,j),j=1,n),i=1,n)
 100     format(8e10.3)
c	call matgen(b,n,m)
c	write(*,*)'mat=b'
c	write(6,100)((b(i,j),j=1,n),i=1,n)
         t1=eetime(dum)
c	write(*,*)'t1=',t1
c	subroutine call AxB
         call DGEMM(transa,transb,n,n,n,1.0d0,
      / a,n,b,n,0.d0,c,n)
c	subroutine call BXAls batch*

         call DGEMM(transa,transb,n,n,n,1.0d0,
      / b,n,a,n,0.d0,d,n)
         t2=eetime(dum)
c	write(*,*)'t2=',t2
         write(*,*)'n=',n,t2-t1,'sec',ops/(t2-t1),'Mflops' 
c	write(*,*)'mat=c'
         write(6,100)((c(i,j),j=1,3),i=1,3)
c 5 continue
         stop
         end
c
         function eetime( )
         dimension time(2)
         eetime=timef()*0.001
c	eetime=etime(time)
         return
         end