主题:[讨论]并行计算出错
PARAMETER(M=500,N=500)
DIMENSION a(1:m),b(1:m,1:n),c(1:n)
character*24 ctime, string
INTEGER*4 nn, time
integer::i,j,K
nn=time()
string = ctime( nn )
write(*,*) 'ctime: ', string
DO K=1,60000
c !$OMP PARALLEL DO DEFAULT(NONE) SHARED(a,b,c) PRIVATE(i,j)
do i=1,m
a(i)=0.0
do j =1,n
a(i)=a(i)+b(i,j)*c(j)
enddo
enddo
c !$OMP END PARALLEL DO
ENDDO
nn=time()
string = ctime( nn )
write(*,*) 'ctime: ', string
end
我使用了手机和自动分别在intel fortran 11里进行并行计算,两者的计算速度都没有单核计算速度快,到底怎么回事,求高人指点!
DIMENSION a(1:m),b(1:m,1:n),c(1:n)
character*24 ctime, string
INTEGER*4 nn, time
integer::i,j,K
nn=time()
string = ctime( nn )
write(*,*) 'ctime: ', string
DO K=1,60000
c !$OMP PARALLEL DO DEFAULT(NONE) SHARED(a,b,c) PRIVATE(i,j)
do i=1,m
a(i)=0.0
do j =1,n
a(i)=a(i)+b(i,j)*c(j)
enddo
enddo
c !$OMP END PARALLEL DO
ENDDO
nn=time()
string = ctime( nn )
write(*,*) 'ctime: ', string
end
我使用了手机和自动分别在intel fortran 11里进行并行计算,两者的计算速度都没有单核计算速度快,到底怎么回事,求高人指点!