|
| View previous topic :: View next topic |
| Author |
Message |
TheMatt
Joined: 06 Jul 2009 Posts: 263 Location: Greenbelt, MD
|
Posted: Tue Sep 08, 2009 10:22 am Post subject: Accelerator restrictions: unknown condition, invalid loop |
|
|
When trying to accelerate a region (using double precision), the compiler said:
| Code: | 1902, Loop not vectorized: mixed data types
Loop not vectorized: may not be beneficial
1913, Accelerator region ignored
1914, Accelerator restriction: invalid loop
1915, Accelerator restriction: invalid loop
Loop not vectorized: data dependency
1945, Accelerator restriction: unknown condition
2004, Loop interchange produces reordered loop nest: 2005,2004
Loop not vectorized: mixed data types
Unrolled inner loop 4 times |
The 1902 and 2004 bits are the real->real*8 and real*8->real parts of the code, so they aren't in the accelerator region. The loops I am accelerating are:
so they don't seem to be invalid (i, k, m, np all integer). The "unknown condition" line is: | Code: | if (abs(st3) < 1.0d-8) then
| and st3 is real*8. And I am compiling with cc13 just to make sure it uses that.
Now, I'm guessing this part of the code I'm trying to accelerate will not take well to acceleration, but I thought I'd try and see as it is a major timesink. I suppose my first question is, what do "invalid loop" and "unknown condition" mean when you see them in the -Minfo=accel and how does one usually work around them? Then, beyond that, why do they trigger this? Is abs not implemented on the GPU (or, more specifically, dabs)? |
|
| Back to top |
|
 |
mkcolg
Joined: 30 Jun 2004 Posts: 4996 Location: The Portland Group Inc.
|
Posted: Tue Sep 08, 2009 10:56 am Post subject: |
|
|
Hi Matt,
The "invalid loop" message is a summary message meaning that something in the loop is prohibiting acceleration. I think the issue is that you're compiling with "-Kieee". Try removing this flag.
In asking our compiler engineers about this, it seems they are still working out what the "correct" behavior should be for conditionals within an accelerator region when "-Kieee" is used. Specifically, the behavior of NaNs.
Hope this helps,
Mat |
|
| Back to top |
|
 |
|
|
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 © 2001, 2002 phpBB Group
|