On 21 December 2011 18:14, Torsten Hoefler <[email protected]> wrote:
You are correct and this is indeed a missing functionality in MPI-2.2. There is a proposal that allows to attach info objects during communicator duplication (see item #2 "MPI_COMM_DUP_INFO" in https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/271). This has been discussed in the Forum but I don't know the status of this ticket. Adam, can you comment? <snip> Would this functionality suffice for your use-case?
Hi Torsten, Yes, thanks. I think this is pretty much exactly what I was looking for. The only comments that I'd make on the ticket proposal would revolve around providing a method to do it in a single step (I suspect for several things a "comm_set_info" would be equivalent to recreating the communicator and no cheaper than the dup method). I can see the API problem, and I wouldn't want to see a huge explosion in interfaces - would it be better to be able to set the 'info' object to be used for subsequent communicator creation as well as the "creation and then modification" approach? e.g. CALL MPI_Comm_set_default_info(My_Info_Sets(colour)) ! Set default info to be used based on my role. CALL MPI_Comm_split(Comm_In,colour,key,Comm_Out) CALL MPI_Comm_set_default_info(MPI_Info_Null) ! lets avoid accidental deadlock in future comm creation calls. It would also be nice to have a reserved set of info keys for the things that are common to most/many MPI/HW implementations- protocol thresholds etc, and a recommended namespacing for vendor specific stuff... but maybe the scope of that is too broad. - Martyn