我在代码中使用 OpenMP,但为了做到这一点,我必须解决此依赖性:
do q=1,pppp
i=0
DO j=1, pppp
do c1=1,3
vect(c1)=xx(q,c1)-xx(j,c1)
end do
dist=sqrt(vect(1)**2+vect(2)**2+vect(3)**2)
if(dist<0.0001)then
i=i+1
if(i>10)i=10
caravec(q,i)=j
endif
ENDDO
ENDDO
Run Code Online (Sandbox Code Playgroud)
我试图避免使用该ordered条款,因为它很昂贵,但我不知道如何消除依赖性。我怎样才能做到这一点?
感谢所有的帮助