나는 두 배열 A
및 데이터를 포함 B
을 가지고OpenMP 병렬 읽기 쓰기 경쟁 조건을 수행합니까?
특히 OpenMP를에서 발생할 수있는 경쟁 조건에 대해 조금 혼란 스러워요, 나는, 하나의 데이터를 사용하여 뭔가를 계산하고이를 저장하고자 다른 사람에게.
내 포트란 코드는 숨어 경쟁 조건이 여기에있다이
!$OMP PARALLEL DO PRIVATE(tmp,data)
DO i = 1, 10000
tmp = A(i) !!Extract A(i)
data = Do_Stuff(tmp) !!Compute
B(i)=data !!Store
END DO
!$OMP END PARALLEL DO
과 같을 것이다?
도입부의 11-12 페이지에서 나는 이 모든 반복마다 다른 경우에도 reading 코드가이 문제를 가지고 있기 때문에 묻습니다.
!$OMP PARALLEL DO
do i = 1, 1000
B(i) = 10 * i
A(i) = A(i) + B(i)
end do
!$OMP END PARALLEL DO
정확히 그 주장을 찾았습니까? –
11-12 페이지를 의미하는 경우 그 주장이 잘못되었다고 생각합니다. –