Look at ompi/mpi/c/start.c. Just add a check there thst redirects to the coll component for coll requests. You will probably need to expand the coll interface in ompi/mca/coll/coll.h to include a start function.
> On Jul 29, 2016, at 10:20 AM, Bradley Morgan <morg...@auburn.edu> wrote: > > > Hello Gilles, > > Thank you very much for your response. > > My understanding is yes, this might be part of the future standard—but > probably not from my work alone. I’m currently just trying get a > proof-of-concept and some performance metrics. > > I have item one of your list completed, but not the others. I will look into > adding the MCA_PML_REQUEST_COLL case to mea_pml_ob1_start. > > Would it also be feasible to create a new function and pointer in > mca_coll_base_comm_coll_t struct, (i.e. mca_coll_base_module_istart, etc.) > just to get a proof of concept? Do you think this would be a fairly accurate > representation (in regard to performance, not necessarily semantics) of how > the standard\official implementation would work? > > > Once again, thanks very much for this information! > > > Regards, > > -Bradley > > > >> On Jul 29, 2016, at 10:54 AM, Gilles Gouaillardet >> <gilles.gouaillar...@gmail.com> wrote: >> >> Out of curiosity, is MPI_Ibcast_init (and friends) something that will/might >> be part of the future standard ? >> >> if you want to implement this as a MCA, then you have (at least) to >> - add an Ibcast_init field (function pointer) to mca_coll_base_comm_coll_t >> struct >> - add a 'case MCA_PML_REQUEST_COLL:' in mca_pml_ob1_start >> - ensure these request are progressed >> - ensure these requests can be MPI_{Wait,Test,Probe!Request_free!Cancel } >> and friends >> >> note all coll components must initialize the new ibcast_init field to NULL >> and all pml components should handle MCA_PML_REQUEST_COLL. >> >> >> Cheers, >> >> Gilles >> >> >>> On Saturday, July 30, 2016, Bradley Morgan <morg...@auburn.edu> wrote: >>> Hello OpenMPI Developers, >>> >>> (I am new to the community, so please forgive me if I violate any protocols >>> or seem naive here…) >>> >>> >>> I am currently working on a prototype component for persistent nonblocking >>> collectives (ompi->mca->coll->libpnbc). >>> >>> I have integrated my new component and mapped MPI_IBcast to my own _init >>> function, which initiates a request but does not start it. Next, I would >>> like to create a function pointer for MPI_Start to kick off these requests. >>> However, the pointer(s) for MPI_Start live in the pml (point-to-point) >>> framework and its implementation seems tacit to MCA. I was able to trace >>> the default mapping of MPI_Start for my build to >>> pml->ob1->pml_ob1_start.c->mca_pml_ob1_start(), but I can’t seem to >>> translate the magic in that path to my own component. >>> >>> Alternatively, if trying to map MPI_Start is too difficult, I think I could >>> also create a custom function like LIBPNBC_Start just to get past this and >>> begin testing, but I have not yet found a clean way to make a custom >>> component function visible and useable at the MPI level. >>> >>> >>> If anyone has any advice or can direct me to any applicable resources >>> (mostly regarding function mapping \ publishing for MPI components) it >>> would be greatly appreciated! >>> >>> >>> Thanks very much! >>> >>> >>> -Bradley >>> _______________________________________________ >>> devel mailing list >>> devel@lists.open-mpi.org >>> https://rfd.newmexicoconsortium.org/mailman/listinfo/devel >> _______________________________________________ >> devel mailing list >> devel@lists.open-mpi.org >> https://rfd.newmexicoconsortium.org/mailman/listinfo/devel > > _______________________________________________ > devel mailing list > devel@lists.open-mpi.org > https://rfd.newmexicoconsortium.org/mailman/listinfo/devel
_______________________________________________ devel mailing list devel@lists.open-mpi.org https://rfd.newmexicoconsortium.org/mailman/listinfo/devel