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