27 lines
688 B
Fortran
27 lines
688 B
Fortran
|
program sample3
|
||
|
use omp_lib
|
||
|
|
||
|
implicit real(8)(a-h,o-z)
|
||
|
parameter (n=4096)
|
||
|
real(8) a(n,n),c(n,n)
|
||
|
real(4) b(n,n)
|
||
|
real*8 t1, t2
|
||
|
a=0.0d0
|
||
|
call random_number(b)
|
||
|
call random_number(c)
|
||
|
write(6,50) 'Matrix Size = ', n
|
||
|
50 format(1x,a,i5)
|
||
|
t1 = omp_get_wtime()
|
||
|
!$OMP parallel do
|
||
|
do j=1,n
|
||
|
do k=1,n
|
||
|
do i=1,n
|
||
|
a(i,j)=a(i,j)+b(i,k)*c(k,j)
|
||
|
end do
|
||
|
end do
|
||
|
end do
|
||
|
!$OMP end parallel do
|
||
|
write(6,60) 'Execution Time = ', t2-t1, ' sec','A(n,n) = ',a(n,n)
|
||
|
60 format(1x,a,f10.3,a,1x,a,d24.15)
|
||
|
stop
|
||
|
end
|