Andre,

I assumed that there would be some overhead, and perhaps bloat,
if -fcoarray=single were made the default.  With the introduction
of a shmem runtime, changing the default is likely a GCC 17 change
and not something we should pursue for GCC 16.

Yes, I know that this uses shmem and not MPI.  Like Jerry, I am
looking forward to using coarray Fortran on my Ryzen 16-core
FreeBSD system.  When Nicolas and Thomas first announced their
effort, I grabbed the branch and did some testing.  Unfortunately,
I was not of much help back then.

-- 
steve


Wed, Jun 25, 2025 at 08:25:36AM +0200, Andre Vehreschild wrote:
> Hi Damian, hi Steve,
> 
> enabling coarray-support by default has implications we need to consider. The
> memory footprint of a coarray enabled program is larger than the one of a
> non-coarray one. This is simply because the coarray token needs to be stored
> somewhere.
> 
> Furthermore, I just yesterday figured, that with -fcoarray=single the space 
> for
> the token was allocated. I.e. every data structure, that could possibly be
> stored in a coarray and had allocatable components in it, wasted another 8 
> byte
> for an unused pointer. 
> 
> So when we default to having coarray support enabled, some work needs to be
> done, to remove such inefficiencies. Given there are only a few developers,
> that work on coarrays, this may take some time.
> 
> What we can of course do, is to switch on the coarray mode, when we detect the
> first coarray construct and no longer need the user to do it. I hope this does
> not have to many implications and causes only a hand full of bugs.
> 
> For the time being, I propose to first give the new coarray implementation 
> some
> time to mature and test. There will be bugs, because nobody is perfect.
> 
> @Steve caf_shmem does not use MPI. It is a shared memory, single node, multi
> process approach. Just to prevent any misunderstanding.
> 
> Thanks for all the testing.
> 
> Regards,
>       Andre
> 
> On Tue, 24 Jun 2025 11:13:52 -0700
> Steve Kargl <s...@troutmask.apl.washington.edu> wrote:
> 
> > Damian,
> > 
> > I submitted a patch a long time ago to make -fcoarray=single the
> > default behavior.  The patch made -fcoarray=none a NOP.  With
> > inclusion of a shmem implementation of the runtime parts, this
> > might be the way to go.  I'll leave that decision to Andre, Thomas,
> > and Nicolas.
> > 
> > I believe that the gfortran contributors have not considered
> > coarray as an optional add-on.  The problem for gfortran is
> > that it runs on dozens of CPUs and dozens upon dozens of
> > operating systems.  The few gfortran contributors simply cannot
> > ensure that opencoarray+mpich or opencoarray+openmpi runs on
> > all of the possible combinations of hardware and OS's.  Andre
> > has hinted that he expects some rough edges on non-linux system.
> > I'll find out this weekend when I give his patch a spin on
> > FreeBSD.  Hopefully, a windows10/11 user can test the patch. 
> > 
> 
> 
> -- 
> Andre Vehreschild * Email: vehre ad gmx dot de 

-- 
Steve

Reply via email to