[J3] Question about coarray implementations

Jeff Hammond jehammond at nvidia.com
Fri May 19 14:34:12 UTC 2023


It is good to know that there is a real implementation where images are threads.  Even process-based implementations with fork() or clone() are problematic, depending on the details.  Open MPI warns on fork() usage for a reason.

I don’t expect problems with GASNet(Ex) or OpenSHMEM based implementations, and I think it is great to have implementations of coarrays based on both.

Jeff


> On 19. May 2023, at 16.41, Brad Richardson <everythingfunctional at protonmail.com> wrote:
> 
> External email: Use caution opening links or attachments
> 
> 
> Hi Jeff,
> 
> OpenCoarrays has an openshmem backend available as well. I don't think
> it's used very frequently, but it's seen use in the past.
> 
> NAG's implementation is shared memory only, so I'm pretty sure it's not
> using MPI either. I thought I heard a rumor it used openmp/threads.
> 
> Finally, and it's of course not done yet, I'm working with the group
> developing Caffeine, which is based on Gasnet-Ex. There's also been
> interest in the past of developing a Gasnet backend to OpenCoarrays.
> 
> All of that doesn't directly answer your question, but hopefully gives
> a fuller picture of the possible implementations for coarrays.
> 
> Regards,
> Brad
> 
> On Fri, 2023-05-19 at 11:46 +0000, Jeff Hammond via J3 wrote:
>> Is anyone aware of a Fortran implementation of the coarray model
>> where images are not OS processes?
>> 
>> Furthermore, are there any implementations that create images at some
>> point after entry into the main program, such as the first time a
>> coarray is allocated, or an image query function is called?
>> 
>> I am familiar with OpenCoarrays and Intel Fortran, both of which use
>> MPI, and Cray Fortran, which uses a PGAS runtime that is
>> interoperable with MPI, but no other implementations.
>> 
>> Thanks,
>> 
>> Jeff
> 
> 



More information about the J3 mailing list