- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Hello,
i encountered a behavior I believe is a bug in ifort 14.0.2 which took me quite a lot of time to find.
implicit integer(a-z) nx = 10 ny = 10 nz = 10 tnx = 2 tny = 2 tnz = 2 !$omp parallel do collapse(3) do bk = 1, nz, tnz do bj = 1, ny, tny do bi = 1, nx, tnx do k = bk, min(bk+tnz-1,nz) do j = bj, min(bj+tny-1,ny) do i = bi, min(bi+tnx-1,nx) if (i==1.and.j==1.and.k==1) print *,"*" end do end do end do end do end do end do !$omp end parallel do end
This should print just one "*", but prints more of them
lada@meop37:~/f/testy/errors> ifort -openmp collapse.f90 lada@meop37:~/f/testy/errors> ./a.out * * * * * lada@meop37:~/f/testy/errors> OMP_NUM_THREADS=1 ./a.out * * * * * lada@meop37:~/f/testy/errors> OMP_NUM_THREADS=10 ./a.out * * * * * lada@meop37:~/f/testy/errors> f90 -openmp collapse.f90 f90: Warning: Optimizer level changed from 0 to 3 to support parallelized code. lada@meop37:~/f/testy/errors> ./a.out *
링크가 복사됨
5 응답
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Obviously, "private(i,j,k,bi,bj,bk)" is missing there, but that doesn't change the behavior.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Are there any news about this problem? I still can reproduce it in intel/15.0.2.164 on the Archer supercomputer. It is very annoying.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Unfortunately there is no progress to report. The issue is unchanged with our latest 16.0 compiler release also. I pinged Development for some status.