@@ -351,7 +351,6 @@ static inline bool ompi_comm_peer_invalid(ompi_communicator_t* comm, int peer_id
351351 * Initialise MPI_COMM_WORLD and MPI_COMM_SELF
352352 */
353353int ompi_comm_init (void );
354- OMPI_DECLSPEC int ompi_comm_link_function (void );
355354
356355/**
357356 * extract the local group from a communicator
@@ -493,24 +492,27 @@ ompi_communicator_t* ompi_comm_allocate (int local_group_size,
493492 * @param mode: combination of input
494493 * OMPI_COMM_CID_INTRA: intra-comm
495494 * OMPI_COMM_CID_INTER: inter-comm
495+ * OMPI_COMM_CID_GROUP: only decide CID within the ompi_group_t
496+ * associated with the communicator. arg0
497+ * must point to an int which will be used
498+ * as the pml tag for communication.
496499 * OMPI_COMM_CID_INTRA_BRIDGE: 2 intracomms connected by
497- * a bridge comm. local_leader
498- * and remote leader are in this
499- * case an int (rank in bridge-comm).
500+ * a bridge comm. arg0 and arg1 must point
501+ * to integers representing the local and
502+ * remote leader ranks. the remote leader rank
503+ * is a rank in the bridgecomm.
500504 * OMPI_COMM_CID_INTRA_PMIX: 2 intracomms, leaders talk
501- * through PMIx. lleader and rleader
502- * are the required contact information.
505+ * through PMIx. arg0 must point to an integer
506+ * representing the local leader rank. arg1
507+ * must point to a string representing the
508+ * port of the remote leader.
503509 * @param send_first: to avoid a potential deadlock for
504510 * the OOB version.
505511 * This routine has to be thread safe in the final version.
506512 */
507- OMPI_DECLSPEC int ompi_comm_nextcid ( ompi_communicator_t * newcomm ,
508- ompi_communicator_t * oldcomm ,
509- ompi_communicator_t * bridgecomm ,
510- void * local_leader ,
511- void * remote_leader ,
512- int mode ,
513- int send_first );
513+ OMPI_DECLSPEC int ompi_comm_nextcid (ompi_communicator_t * newcomm , ompi_communicator_t * comm ,
514+ ompi_communicator_t * bridgecomm , const void * arg0 , const void * arg1 ,
515+ bool send_first , int mode );
514516
515517/**
516518 * allocate new communicator ID (non-blocking)
@@ -522,10 +524,9 @@ OMPI_DECLSPEC int ompi_comm_nextcid ( ompi_communicator_t* newcomm,
522524 * OMPI_COMM_CID_INTER: inter-comm
523525 * This routine has to be thread safe in the final version.
524526 */
525- OMPI_DECLSPEC int ompi_comm_nextcid_nb (ompi_communicator_t * newcomm ,
526- ompi_communicator_t * comm ,
527- ompi_communicator_t * bridgecomm ,
528- int mode , ompi_request_t * * req );
527+ OMPI_DECLSPEC int ompi_comm_nextcid_nb (ompi_communicator_t * newcomm , ompi_communicator_t * comm ,
528+ ompi_communicator_t * bridgecomm , const void * arg0 , const void * arg1 ,
529+ bool send_first , int mode , ompi_request_t * * req );
529530
530531/**
531532 * shut down the communicator infrastructure.
@@ -618,18 +619,25 @@ int ompi_comm_determine_first ( ompi_communicator_t *intercomm,
618619 int high );
619620
620621
621- OMPI_DECLSPEC int ompi_comm_activate ( ompi_communicator_t * * newcomm ,
622- ompi_communicator_t * comm ,
623- ompi_communicator_t * bridgecomm ,
624- void * local_leader ,
625- void * remote_leader ,
626- int mode ,
627- int send_first );
622+ OMPI_DECLSPEC int ompi_comm_activate (ompi_communicator_t * * newcomm , ompi_communicator_t * comm ,
623+ ompi_communicator_t * bridgecomm , const void * arg0 ,
624+ const void * arg1 , bool send_first , int mode );
628625
629- OMPI_DECLSPEC int ompi_comm_activate_nb (ompi_communicator_t * * newcomm ,
630- ompi_communicator_t * comm ,
631- ompi_communicator_t * bridgecomm ,
632- int mode , ompi_request_t * * req );
626+ /**
627+ * Non-blocking variant of comm_activate.
628+ *
629+ * @param[inout] newcomm New communicator
630+ * @param[in] comm Parent communicator
631+ * @param[in] bridgecomm Bridge communicator (used for PMIX and bridge modes)
632+ * @param[in] arg0 Mode argument 0
633+ * @param[in] arg1 Mode argument 1
634+ * @param[in] send_first Send first from this process (PMIX mode only)
635+ * @param[in] mode Collective mode
636+ * @param[out] req New request object to track this operation
637+ */
638+ OMPI_DECLSPEC int ompi_comm_activate_nb (ompi_communicator_t * * newcomm , ompi_communicator_t * comm ,
639+ ompi_communicator_t * bridgecomm , const void * arg0 ,
640+ const void * arg1 , bool send_first , int mode , ompi_request_t * * req );
633641
634642/**
635643 * a simple function to dump the structure
@@ -639,14 +647,6 @@ int ompi_comm_dump ( ompi_communicator_t *comm );
639647/* setting name */
640648int ompi_comm_set_name (ompi_communicator_t * comm , const char * name );
641649
642- /*
643- * these are the init and finalize functions for the comm_reg
644- * stuff. These routines are necessary for handling multi-threading
645- * scenarious in the communicator_cid allocation
646- */
647- void ompi_comm_reg_init (void );
648- void ompi_comm_reg_finalize (void );
649-
650650/* global variable to save the number od dynamic communicators */
651651extern int ompi_comm_num_dyncomm ;
652652
0 commit comments