On Apr 16, 2009, at 7:30 PM, Bronis R. de Supinski wrote:
Hmm. My expectation was there would be query functions for individual fields, a la MPI_Get_count. I guess I don't have a strong feeling about it -- when you want only one field, you will pay a somewhat significant cost with your approach but your approach will be an even bigger win when you want all of them. It may be harder for an implementation to add fields with your approach, I don't know...
I could certainly make an accessor function for *each* field. But instead I grouped them into "related" fields. E.g., if you're going to ask for the how many dimensions there are in the cartesian topology, you're probably also going to want to the array of the dimension lengths as well (at least, that's what I assumed). This got me down to 6 query functions instead of 21, which, all things being equal, I figured was a good thing. I certainly could make them a bit more fined-grained -- for example, the initial function (_query_basic()) is returning a bunch of basic information that isn't really grouped together: - communicator name - bit flags - this proc's rank - size - fortran handle - c++ handle If people feel strongly, I'm happy to make 21 query functions. Whateveah. :-) As for adding implementation-specific fields, I don't think this proposal addresses that at all. If Microsoft wants to make a proposal about adding vendor-specific fields, I'd love to see it. :-) -- Jeff Squyres Cisco Systems