Timeline for OpenACC array reduction support in nvfortran?

Is there a timeline for nvfortran supporting array reductions in OpenACC loop constructs? I’m getting the error

NVFORTRAN-F-0155-Array reduction support is not complete and this case is not yet supported

For a simple reduction like

real(8) accum(3)
...
accum(3) = 0.d0
!$acc loop reduction(accum)
do ...

Just wondering if I should code this up as three scalar reductions…

Thanks,
Paul

Hi Paul,

OpenACC array reduction support was added in the 22.2 release. Which version of the compiler are you using?

-Mat

Ah, okay. I’m still on 22.1. I’ll upgrade.

Thanks!

Okay, I made the switch to 22.3, but now have a new problem… when I go to link my application with 22.3, I get:

nvlink error   : File uses too much global constant data (0x21e88 bytes, 0x10000 max)

It works find with 22.1 (exact same code base, clean builds with each compiler). Any suggestions on how to track this down, even to which file might be causing this? OpenACC only.

Thanks,
Paul

Nevermind… Max Katz is helping me figure it out.

Cheers,
Paul

Sounds good. Though I sent a note to engineering if they have any ideas.

1 Like

Thanks. It appears that cuRAND is injecting a lot of static data into module files that don’t have any ACC in them.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.