Short answer because we're all still in Chicago...

Terry tells me that you're just hacking around trying to see what works, etc. So adding direct calls to the BTL in this kind of scenario is ok. I'm sure you're aware that this is not good for real code. :-)

To directly call a BTL function, you might just want to configure OMPI with --enable-static; this will suck in all the plugins into libmpi, and therefore all symbols are directly available at link time.

There's other, more elegant ways for this hackaround, but if you're just playing/testing, this is probably good enough.


On Oct 22, 2008, at 1:04 PM, Eugene Loh wrote:

I'm trying to prototype an idea inside OMPI and am running into a problem.

I want to add a new function to a BTL and to have the PML call this function. I can't just put such a function call into the PML (not even for my prototype) since the PML is loaded before the BTL and so the PML will complain about a missing symbol.

So, the PML will just have to refer to the function symbolically and I need to figure out the BTL function address "at the appropriate time" (after the BTL is loaded but before I need to call my function).

I tried to dlopen the BTL (seemed successful... I got back a non- NULL handle), but dlsym can't seem to find any of the symbols in the BTL (not even ones that existed before I started any of my work).

I can describe other things I tried or other things I think are supposed to work (but that I am reluctant to try), but let's cut to the chase: HELP!

Please note that I'm a newbie OMPI developer and so I'm really interested in doing the simplest thing possible to try my prototype. I recognize that certain things will have to be done to add "real code" back to the code base, but at this point I'd prefer to defer difficult work and just test the ideas of my prototype.
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel


--
Jeff Squyres
Cisco Systems

Reply via email to