I concur with Brian, you should not expect the runtime to provide a default event base, especially if you want some level of quality-of-service out of it. Moreover, with the soon-to-happen move of the BTLs down in OPAL this approach will definitively not be suitable.
George. On Feb 18, 2014, at 07:03 , Brian Barrett <br...@bbarrett.org> wrote: > And what will you do for RTE components that aren't ORTE? This really isn't > a feature of a run-time, so it doesn't seem like it should be part of the RTE > interface... > > Brian > > On Feb 17, 2014, at 3:03 PM, Jeff Squyres (jsquyres) <jsquy...@cisco.com> > wrote: > >> WHAT: New OMPI_RTE_EVENT_BASE define >> >> WHY: The usnic BTL needs to run some events asynchronously; the ORTE event >> base already exists and is running asynchronously in MPI processes >> >> WHERE: in ompi/mca/rte/rte.h and rte_orte.h >> >> TIMEOUT: COB Friday, 21 Feb 2014 >> >> MORE DETAIL: >> >> The WHY line described it pretty well: we want to run some things >> asynchronously in the usnic BTL and we don't really want to re-invent the >> wheel (or add yet another thread in each MPI process). The ORTE event base >> is already there, there's already a thread servicing it, and Ralph tells me >> that it is safe to add our own events on to it. >> >> The patch below adds the new OMPI_RTE_EVENT_BASE #define. >> >> >> diff --git a/ompi/mca/rte/orte/rte_orte.h b/ompi/mca/rte/orte/rte_orte.h >> index 3c88c6d..3ceadb8 100644 >> --- a/ompi/mca/rte/orte/rte_orte.h >> +++ b/ompi/mca/rte/orte/rte_orte.h >> @@ -142,6 +142,9 @@ typedef struct { >> } ompi_orte_tracker_t; >> OBJ_CLASS_DECLARATION(ompi_orte_tracker_t); >> >> +/* define the event base that the RTE exports */ >> +#define OMPI_RTE_EVENT_BASE orte_event_base >> + >> END_C_DECLS >> >> #endif /* MCA_OMPI_RTE_ORTE_H */ >> diff --git a/ompi/mca/rte/rte.h b/ompi/mca/rte/rte.h >> index 69ad488..de10dff 100644 >> --- a/ompi/mca/rte/rte.h >> +++ b/ompi/mca/rte/rte.h >> @@ -150,7 +150,9 @@ >> * a. OMPI_DB_HOSTNAME >> * b. OMPI_DB_LOCALITY >> * >> - * (g) Communication support >> + * (g) Asynchronous / event support >> + * 1. OMPI_RTE_EVENT_BASE - the libevent base that executes in a >> + * separate thread >> * >> */ >> >> @@ -162,6 +164,7 @@ >> #include "opal/dss/dss_types.h" >> #include "opal/mca/mca.h" >> #include "opal/mca/base/base.h" >> +#include "opal/mca/event/event.h" >> >> BEGIN_C_DECLS >> >> >> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/devel >> > > -- > Brian Barrett > > There is an art . . . to flying. The knack lies in learning how to > throw yourself at the ground and miss. > Douglas Adams, 'The Hitchhikers Guide to the Galaxy' > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel