Hi Damian,

looking into the code I neither find the keyword LOCAL nor REDUCE. The match
routine also does not give any hint that those keywords are supported in a do
concurrent loop.

And here is the existing bug
ticket: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101602

But I don't see a ticket for REDUCE yet.

Sorry for the bad news.

Regards,
        Andre

On Wed, 22 Jan 2025 20:59:02 -0800
Damian Rouson <damian@archaeologic.codes> wrote:

> The first error message in my previous email led me to the following
> constraint:
> 
> “*C1130*  A *variable-name *that appears in a LOCAL or LOCAL_INIT
> *locality-spec *shall not have the ALLOCATABLE, INTENT (IN), or OPTIONAL
> attribute, shall not be of finalizable type, shall not have an allocatable
> ultimate component,...”
> 
> My first thought was, "Holy guacamole. That seems like such
> a severe limitation that the feature seems almost useless."  Fortuitously,
> however, it turns out that the code I sent a little while ago was missing
> one important feature from my intended use case: associate.  As shown
> below, using associate eliminates the first error, but I'm still confused
> by the remaining error message.  Are locality specifiers actually supported
> yet?
> 
> Damian
> 
> % cat locality.f90
> 
> program main
> 
>   implicit none
> 
>   integer pair
> 
>   integer :: mini_batch_size=1
> 
> 
>   real, allocatable, dimension(:,:) :: a, dcdb
> 
> 
> 
>   allocate(a(1,1))
> 
>   allocate(dcdb(1,1))
> 
> 
>   associate(a_ => a, dcdb_ => dcdb)
> 
>     do concurrent (pair = 1:mini_batch_size) local(a_) reduce(+: dcdb_)
> 
>       a_ = 0.
> 
>       dcdb_ = 0.
> 
>     end do
> 
>   end associate
> 
> 
> end program
> 
> 
> % gfortran locality.f90
> 
> *locality.f90:12:71:*
> 
> 
>    12 |     do concurrent (pair = 1:mini_batch_size) local(a_) reduce(+:
> dcdb_)
> 
>       |
>   *1*
> 
> *Error:* Sorry, LOCAL and LOCAL_INIT are not yet supported for ‘*do
> concurrent*’ constructs at *(1)*
> 
> 
> % gfortran --version
> 
> GNU Fortran (GCC) 15.0.1 20250119 (experimental)
> 
> Copyright (C) 2025 Free Software Foundation, Inc.
> 
> This is free software; see the source for copying conditions.  There is NO
> 
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


-- 
Andre Vehreschild * Email: vehre ad gmx dot de 

Reply via email to