Returning to a super-old thread that was never finished...
On Dec 2, 2014, at 6:49 PM, George Bosilca <bosi...@icl.utk.edu> wrote: > That's not enough. They will have to check for the right version of Open MPI > and then for the availability of the OMPI_<something> functions. That looks > as having the sabe cost as checking for the MPIX_<something> function without > looking for a specific MPI library. I don't understand how MPIX_<something> is better. Given that there is *zero* commonality between any MPI extension implemented between MPI implementations, how exactly is having the same prefix any less confusing? My point is that using an extension is inherently non-portable. The chances for <something> to collide between different MPI implementations is actually quite high. Indeed, if everyone uses MPIX_<something>, then there's a very real possibility that MPIX_Foo != MPIX_Foo != MPIX_Foo. That's *horrible*. This is at least slightly more readable, and more clear that you're using an Open MPI-specific extension: ----- #if defined(OPEN_MPI) && OPEN_MPI OMPI_Foo(a,b,c); #endif ... #if defined(MPICH) && MPICH MPIX_Foo(f,e,d,c,b,a); #endif ----- I guess my fundamental question is: why impose commonality of names where there is no commonality of function signature and behavior? -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/