KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a loop which updates a matrix A and I want to make it openmp but I'm not sure what variables should be shared and private. I would have thought just ii and jj would work but it doesn't. I think I need an !$OMP ATOMIC UPDATE somewhere too... The loop just calculates the distance between N and N-1 particles and updates a matrix A. !$OMP PARALLEL DO PRIVATE(ii,jj) do ii=1,N-1 do jj=ii+1,N distance_vector=X(ii,:)-X(jj,:) distance2=sum(distance_vector*distance_vector) distance=DSQRT(distance2) coff=distance*distance*distance PE=PE-M(II)*M(JJ)/distance A(jj,:)=A(jj,:)+(M(ii)/coff)*(distance_vector) A(ii,:)=A(ii,:)-(M(jj)/coff)*(distance_vector) end do end do !$OMP END PARALLEL DO
Tags (comma-separated)
Save Edits
Cancel