copyin a derived type parameter?

Hi all,

I have a derived type which has a parameter p. This p represents a 3D array. I would like to copy this directly into a data region as so:

!$acc data region copyin(b%p(1:n,1:n,1:n))

But I get a syntax error on compilation. Is there any way to do this that avoids just copying b%p into an allocatable array and copying this new array in? Could I copy a pointer to the array in?

Thanks,

Harry

Harry,

I am investigating this issue, and I will follow up when I have some more information.

Best regards,

+chris

Harry,

I’ve been told by our main OpenACC developer that using a derived type array member in the copyin directive will be possible in the 14.4 release of PGI. You might want to pick up that update in a few weeks, and see if this works for you then.

Until then, you will have to use a workaround, such as assigning the data to a temporary array. (Not ideal, I know.)

Hope this helps.

Best regards,

+chris

Hi,

Thanks for that, good to know it is being implemented soon.

Thanks, Harry

Hi, any idea of a date for the release of 14.4? Or is there any chance of a prerelease version I could download? I have a report deadline on Thursday and my results/code would look rather better with the compiler fixes and added features that 14.4 will offer me!

:)

Sorry, by 14.4 wont be out till next week and I don’t have pre-release available to send.

  • Mat