https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81205

--- Comment #6 from Harald Anlauf <anlauf at gmx dot de> ---
(In reply to Pasha from comment #5)
> (In reply to Harald Anlauf from comment #4)
> > (In reply to Pasha from comment #2)
> > > This is my main routine for example
> > > .
> > > .
> > > .
> > > !!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(K,jL)
> > >     DO k=1,nG3
> > >        DO jL=1,nL2
> > >           j = idx2start + jL
> > 
> > Any reason you didn't declare j as private?
> That did not solve the problem as I have other subroutines in main which
> declared all of index number in main program and in subroutines but again
> the code Blocks. Even when I disabled OMP commands in the loop of main
> program, the code get inside the subroutine but again blocks in the loop of
> that subroutines.
> I used ulimit -s 10000000 or ulimit -Hd to increase the capacity of each CPU
> but still get nowhere.   

You're saying your code blocks even without OpenMP?
Then it's not an OpenMP problem.

Your comments sound your code has a more serious issue that
cannot be understood given the code parts you've shown.

> > 
> > >           IF(masque(j,k))THEN
> > > 
> > >              ! dudx
> > >              CALL fvec (nG1,curC(1:nG1,jL,k), difles1C(1:nG1,jL,k))
> > >              CALL tridgn (ff,s1,w1,difles1C(1:nG1,jL,k), nG1,1)
> > >           ENDIF
> > >        ENDDO
> > >     ENDDO
> > > !!$OMP END PARALLEL DO
> > 
> > Have you tried some thread-checking tool to debug the code,
> > or cross-checked with another compiler?
> 
> Some of my friends suggested to compile the code with ifort, but I do not
> access to that. I asked my supervisor to buy or find it on other lab to
> check it.
> Will you please offer a name of thread-checking tools? can I do it with
> visual studio? or you mean something else?

I can't say anything about visual whatever.

I'd recommend valgrind (for memory and thread checking),
or a newer gcc release supporting thread and memory sanitizing.

With the Intel compiler (you could try an evaluation license) I've
used the tools belonging to the Intel suite for doing the same.  They
have a fancy GUI, if that's what you prefer.

Reply via email to