- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
With the intention to ensure/check if a given loop is parallel or not, I generated an .optrpt file.
I used the following flags for the same: -parallel -opt-report-phase=par -opt-report:5
However I have three doubts persisting that the auto-parallelization flags failed to answer.
1) I had a two level nested loop like this
do k=1,km-1
do kk=1,2
.
.
<code is here>
.
.
enddo
enddo
However, the optimization report didn't tell me if it merged the loop or if any of the two loops(inner/outer) were parallelized.
2) Also the actual line Nos and those mentioned by the .optrpt seem to have a mismatch. How do I overcome or try to make sense with these? Also can you point out to the right place in the code where optimization was attempted as per the .optrpt and how(i.e the OMP constructs inserted or other ways)?
3)Sometimes the compiler tends to be restrictive. Is it possible for more aggressive optimization?
4) Is the loop Vectorizable?
Below attached are the files of code and the optimization report.
The Loop is the First loop in subroutine merged stream function (line no 3621:- do k=1,km-1 )
Thanks in advance,
Aketh T. M.
Link Copied

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page