|
| View previous topic :: View next topic |
| Author |
Message |
JMa
Joined: 30 Nov 2012 Posts: 14
|
Posted: Thu Jan 03, 2013 8:57 am Post subject: 3D Array Reduction in ACC? |
|
|
Hi,
I know $ACC reduction works for a variable, but may I get to know whether it should work for a 3D array? Say,
!$acc reduction(+:a(:,:,:))
Thanks,
Jingsen |
|
| Back to top |
|
 |
mkcolg
Joined: 30 Jun 2004 Posts: 4996 Location: The Portland Group Inc.
|
Posted: Mon Jan 07, 2013 2:36 pm Post subject: |
|
|
Hi Jingsen,
Sorry, only scalars are allowed in reductions.
- Mat |
|
| Back to top |
|
 |
JMa
Joined: 30 Nov 2012 Posts: 14
|
Posted: Tue Jan 08, 2013 9:57 am Post subject: |
|
|
Hi Mat,
Very thankful for your clarification.
Will array reduction possibly be supported in future version of PGI? or this feature is not under planning at all?
In addtion, I've one more question. I remember you've told me that "critical" is not supported in ACC, but how about "Atomic"? If this not in current version, will it be allowed in the coming 2013 release?
Thanks,
Jingsen |
|
| Back to top |
|
 |
mkcolg
Joined: 30 Jun 2004 Posts: 4996 Location: The Portland Group Inc.
|
Posted: Tue Jan 08, 2013 10:11 am Post subject: |
|
|
| Quote: | | Will array reduction possibly be supported in future version of PGI? or this feature is not under planning at all? | It would need to come from OpenACC committee since this restriction is defined by the OpenACC standard. See section 2.8.8 http://www.openacc.org/sites/default/files/OpenACC.1.0_0.pdf
| Quote: | | I remember you've told me that "critical" is not supported in ACC, but how about "Atomic"? If this not in current version, will it be allowed in the coming 2013 release? | No, atomics are not part of the OpenACC standard. The problem is that synchronization features are device specific, if available at all. Given that the standard must cover a wide variety of devices, the OpenACC standard does not include synchronization.
If your algorithm must use atomics, I would suggest using CUDA Fortran or CUDA C for these particular kernels. OpenACC is interoperable with CUDA so you can mix.
Hope this helps,
Mat |
|
| Back to top |
|
 |
JMa
Joined: 30 Nov 2012 Posts: 14
|
Posted: Tue Jan 08, 2013 4:20 pm Post subject: |
|
|
Mat, thanks.
I cann't use cuda inside $acc region, right?
Jingsen |
|
| 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
|