PGI User Forum
 SearchSearch   MemberlistMemberlist     RegisterRegister   ProfileProfile    Log inLog in 

CUDA-x86.

Loop to deeply nested

 
Post new topic   Reply to topic    PGI User Forum Forum Index -> Programming and Compiling
View previous topic :: View next topic  
Author Message
THX 1138



Joined: 30 Jun 2011
Posts: 103

PostPosted: Fri Nov 02, 2012 11:59 am    Post subject: Loop to deeply nested Reply with quote

Loop not vectorized/parallelized: too deeply nested
81, Loop not vectorized/parallelized: too deeply nested

When a program compiling renders the error shown above what can be done to vectorize/parallelize this loop that is "too deeply nested".

Any help appreciated. Thanks in advance.

THX 1138
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 6125
Location: The Portland Group Inc.

PostPosted: Mon Nov 05, 2012 3:17 pm    Post subject: Reply with quote

How many loop levels are you using? You can increase the default number of levels via the "-Mvect=levels:n" and "-Mconcur=levels:n" flags, however, we max out at around 7 levels deep since the dependency analysis required gets too compute and memory intensive beyond this point.

- Mat
Back to top
View user's profile
TheMatt



Joined: 06 Jul 2009
Posts: 317
Location: Greenbelt, MD

PostPosted: Mon Mar 18, 2013 9:11 am    Post subject: Reply with quote

Zombie thread, reactivate!

Mat,

A question about this. I have a code that I'm compiling with -fast that has a 3d and 4d interface and inside those two are nested loops that in the former case are three-deep and in the latter four-deep. So, when the 3d interface is compiled, not much info, but in the 4d case:
Code:
Loop not vectorized/parallelized: too deeply nested

So, I was wondering, how could I try telling it to go deeper? Would the FOPT be '-fast -Mvect=levels:4' (or 5, 6...something)? Or would doing that remove the -Mvect=sse that seems to be part of -fast?

Matt
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 6125
Location: The Portland Group Inc.

PostPosted: Mon Mar 18, 2013 9:40 am    Post subject: Reply with quote

Hi Matt,

Use the "-Mvect=levels:n" flag to go beyond the default of three loop levels. Your compilation time may increase though. No need to remove SSE vectorization.

- Mat
Back to top
View user's profile
TheMatt



Joined: 06 Jul 2009
Posts: 317
Location: Greenbelt, MD

PostPosted: Mon Mar 18, 2013 9:43 am    Post subject: Reply with quote

mkcolg wrote:
Use the "-Mvect=levels:n" flag to go beyond the default of three loop levels. Your compilation time may increase though. No need to remove SSE vectorization.


Oh, I wasn't going to remove it. I was just worried that the "-Mvect=levels:n" flag might supersede whatever "-Mvect" flags that might be inside the "-fast" flag. But, the info output didn't seem to make any changes, so I'm guessing it's an append rather than clobber operation.

Thanks,
Matt
Back to top
View user's profile
Display posts from previous:   
Post new topic   Reply to topic    PGI User Forum Forum Index -> Programming and Compiling All times are GMT - 7 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group