Enim, Before going into all these efforts to implement a new function, let me describe what is there already and that you can use to achieve something similar. It will not be exactly what you describe, because changing a particular collective algorithm dynamically on a communicator might is not as safe as it sounds. However, you can reconfigure the collective selection before creating a new communicator.
For this you will have to set coll_tuned_use_dynamic_rules to 1. Assuming that you want to play with broadcast, you need to force the MCA parameter coll_tuned_bcast_algorithm to a new value (by calling the MCA corresponding MCA function). In same time you can also define the parameters that regulate the broadcast algorithms such as the segment size (coll_tuned_bcast_algorithm_segmentsize). The next communication creation call will inherit these new values. George. PS: feel free to ping me privately if you want more info. On Thu, Jan 19, 2017 at 1:27 PM, Emin Nuriyev <emin.nuri...@ucdconnect.ie> wrote: > Hi, > > I want to create broadcast function which allow me to select algorithm in > application layer. > For example : > > MPI_Bcast_alg(void *buffer, int count, MPI_Datatype datatype, int root, > MPI_Comm comm, int alg) > > Same arguments as MPI_Bcast() and plus algorithm's id. > > *coll_tune_bcast_decision.c* file contain function which allows us to > select function. > > int ompi_coll_tuned_bcast_intra_do_this(void *buf, int count, > struct ompi_datatype_t *dtype, > int root, > struct ompi_communicator_t *comm, > mca_coll_base_module_t *module, > int algorithm, int faninout, int > segsize) > > I've got some information about MCA. But yest, it is not clear for me how > to implement it ? How can I do it ? > > _______________________________________________ > 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