Le 26/07/2025 à 23:14, Andre Vehreschild a écrit :
Hi Harald and Mikael,

sorry when I jumped too much in answering different questions to my evident error.

What I am trying to correct with my lastest patch is exactly what Harald wants. Standard compliant evaluation of all arguments to a (coindexed) expression before those arguments are used in the coarray evaluation.

My impression is that Harald has yet to be convinced.

I think what the confusion is about, is that a coindexed access to data is not done on the image that triggers it. Sticking with Mikaels example of res(...)[1]=... the assignment to res when the executing image is not 1, is done on the remote image.
Thanks for the precision. It has its importance, but I think it is a detail of the implementation.

In this example, image 1, i.e., for Opencoarrays a thread on image one takes the data from the executing image and writes it into the memory of image 1.
When you say it takes data, do you mean it takes the assignment right hand side (named "data"), or do you mean that it takes all required data (right hand side "data" and index value initialized with the result of "get_val()") from the executing image?

For caf_shmem there is not additional thread, because every image can write directly to the remote image's memory.

Did that clear a bit of the confusion?
For me it did a bit, but I wouldn't say I'm completely out of the fog.
Obviously I should at some point take the time to understand the general architecture of the coarray implementation.

Yes, mea culpa. I did it wrong in the beginning and am just trying to correct my wrongs.

No problem, everybody makes mistakes.

Reply via email to