This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Co-Array with OpenACC


On Fri, Sep 23, 2016 at 6:00 PM, Cesar Philippidis
<cesar@codesourcery.com> wrote:
> On 09/23/2016 07:25 AM, Vikram Singh wrote:
>> Now that GCC has both co-array and openacc host_data support I decided
>> to try out whether it can handle both together.
>>
>> Below you'll find a simple code that does some stuff inside a loop and
>> then I do a single data exchange. I put it inside host_data assuming
>> that there's some mpi exchange happening underneath which presumably
>> works with host_data according to Nvidia.
>>
>> Unfortunately it does not work. Is it possible that this could be fixed?
>
> Not at the moment. We're trying to keep make gcc comply with OpenACC
> 2.0a. As it stands right now, there's already some incompatibility with
> gcc's implementation with other compiler vendors because not everyone
> interprets the spec the same (e.g. some compilers don't enforce the
> nested acc loop restrictions for the gang, worker, vector and seq
> clauses). So, for the sake of future compatibility, it's would probably
> be best to wait until the OpenACC committee addresses that issue before
> we add support for it.

> Cesar
>

Thanks.

But I am still wondering what exactly should the committee be
addressing in the present case. If I read the spec, it says host_data
makes the device data available to the host thread. Now obviously one
problem is that the spec was probably not written keeping CoArrays in
mind, but to me that statement seems pretty straightforward. The
host_data will tell the device memory to the host and the coarray
subscript tells the host which device it is on.

Now obviously that seems like a selfish simplification because I would
like to be able to use it in this manner, but how can we contact the
committee to clarify this?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]