0
OpenMP에서는 다소 새로운 개념입니다. 나는 OpenMP 쓰레딩을 사용하여 큰 매트릭스의 모든 요소를 벡터에 작성하여 속도를 높이고 싶다. 내 시리얼 코드에서OpenMP를 사용하여 벡터의 행렬 요소를 벡터로 작성
는 단순히 일을 오전 다음
!$OMP PARALLEL DO PRIVATE(k,i,p,j)
! bla bla
!$OMP END PARALLEL DO
:
이제
m=1
DO k=1,n_lorentz
DO i=1,n_channels
DO p=1,n_lorentz
DO j=1,n_channels
vector(m) = Omega(j,p,i,k)
m=m+1
END DO
END DO
END DO
END DO
내가 병렬 방식으로 벡터에 오메가의 요소를 기입하기위한 OMP 루프를 사용하고 싶습니다
문제는 현재 벡터 인덱스를 추적하는 방법입니다.이 경우 직렬 코드의 m
매개 변수가 다른 스레드에 의해 증가되어 전체 엉망이 발생하기 때문입니다.
감사합니다. 이 일을 실제로 않습니다 :) – Cooliofan