07-164r1 To: J3 From: Bill Long Subject: Co-arrays and processor dependent order Date: 2007 February 15 References: J3/07-007, 06-342, 06-278, 06-279 This is a re-submittal of 06-342 which was deferred at meeting 178. These comments are gleaned from 06-278 and 06-279 which were deferred at meeting 177. Commment: Page 73:20 says the order in which things are finalized is processor dependent. Page[131:22-24] also mention automatic operations without an order. Does processor dependent allow different images to do things differently? Can different images finalize things in different orders? I don’t know if it matters in the co-array sense; but I don’t think we say which it should be anyplace. Reply: Within an image, the order of finalization is processor-dependent, but each image should execute the finalizations in the same order. Edits: [73:15-16] In 4.5.6.2 The finalization process, list item (2): replace "processor-dependent" with "processor-dependent and image-independent". [73:21] Replace "processor-dependent" with "processor dependent and image independent". ------------------- Comment: Are co-arrays expected to work on different kinds of hardware in a network? It’s maybe reasonable to expect wildly different hardware and OSs to have different memory management methods and, maybe, to link things in different orders and do the deallocate, or whatever, in a different order. Is this allowed or prohibited? Either way, I think some words in 2.3.2 would help. For what it’s worth, many of the clause 13 collective Functions say something like "processor-dependent and image- dependent..." Reply: It is not prohibited. However, an implementation for such an environment would be significantly more complicated than for a homogeneous system. Edit: [14:24+] In 2.3.3 Program execution, at the end of Note 2.4, add "Though it is simpler to implement co-arrays on a set of identical CPUs, such a configuration is not required." --------------- Comment: For [130:15] Malcolm suggests saying it in only the correct place and replacing the text with "Deallocation of allocatable components can also occur during intrinsic assignment (7.4.1.3)." Reply: The proposed replacement text appears to be unrelated to [130:15], so we have no reply for this question. ---------------