WHAT: To make predefined handles extern to pointers instead of an address of an extern to a structure.

WHY: To make OMPI more backwards compatible in regards to changes to structures that define predefined handles.

WHERE: In the trunk. ompi/include/mpi.h.in and places in ompi that directly use the predefined handles.

WHEN:  01/24/2009

TIMEOUT:  01/10/2009


____________________

The point of this change is to improve the odds that an MPI application does not have to recompile when changes are made to the OMPI library. In this case specifically the predefined handles that use the structures for communicators, groups, ops, datatypes, error handlers, win, file, and info.

An example of the changes for the communicator predefined handles can be found in the hg tmp workspace at ssh://www.open-mpi.org/~tdd/hg/predefcompat.

Note, the one downfall that Jeff and I could think of by doing this is you potentially add one level of indirection but I believe that will be a small overhead and if you use one of the predefined handles repetitively (like in a loop) that the address will probably be stored in a register once and no additional over should be seen due to this change.

Reply via email to