2022-11-14 14:45:53 +07:00
|
|
|
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
|
2022-11-14 16:08:59 +07:00
|
|
|
t2 = omp_get_wtime()
|
2022-11-14 14:45:53 +07:00
|
|
|
!$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
|