⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 base.h

📁 MPI stands for the Message Passing Interface. Written by the MPI Forum (a large committee comprising
💻 H
📖 第 1 页 / 共 2 页
字号:
*** This version of oob_recv is as above except it does NOT take a iovec list* but instead hands back a orte_buffer_t* buffer with the message in it.* The user is responsible for releasing the buffer when finished w/ it.**/ORTE_DECLSPEC int mca_oob_recv_packed (    orte_process_name_t* peer,    orte_buffer_t *buf,    int tag);/* * Non-blocking versions of send/recv.*//***  Callback function on send/recv completion.**  @param status (IN)  Completion status - equivalent to the return value from blocking send/recv.*  @param peer (IN)    Opaque name of peer process.*  @param msg (IN)     Array of iovecs describing user buffers and lengths.*  @param count (IN)   Number of elements in iovec array.*  @param tag (IN)     User defined tag for matching send/recv.*  @param cbdata (IN)  User data.*/typedef void (*mca_oob_callback_fn_t)(    int status,    orte_process_name_t* peer,    struct iovec* msg,    int count,    int tag,    void* cbdata);/***  Callback function on send/recv completion for buffer PACKED message only.*  i.e. only mca_oob_send_packed_nb and mca_oob_recv_packed_nb USE this.**  @param status (IN)  Completion status - equivalent to the return value from blocking send/recv.*  @param peer (IN)    Opaque name of peer process.*  @param buffer (IN)  For sends, this is a pointer to a prepacked buffer                       For recvs, OOB creates and returns a buffer*  @param tag (IN)     User defined tag for matching send/recv.*  @param cbdata (IN)  User data.*/typedef void (*mca_oob_callback_packed_fn_t)(    int status,    orte_process_name_t* peer,    orte_buffer_t* buffer,    int tag,    void* cbdata);/***  Non-blocking version of mca_oob_send().**  @param peer (IN)    Opaque name of peer process.*  @param msg (IN)     Array of iovecs describing user buffers and lengths.*  @param count (IN)   Number of elements in iovec array.*  @param tag (IN)     User defined tag for matching send/recv.*  @param flags (IN)   Currently unused.*  @param cbfunc (IN)  Callback function on send completion.*  @param cbdata (IN)  User data that is passed to callback function.*  @return             OMPI error code (<0) on error number of bytes actually sent.**  The user supplied callback function is called when the send completes. Note that*  the callback may occur before the call to mca_oob_send returns to the caller,*  if the send completes during the call.**/ORTE_DECLSPEC int mca_oob_send_nb(    orte_process_name_t* peer,    struct iovec* msg,    int count,    int tag,    int flags,    mca_oob_callback_fn_t cbfunc,    void* cbdata);/***  Non-blocking version of mca_oob_send_packed().**  @param peer (IN)    Opaque name of peer process.*  @param buffer (IN)  Opaque buffer handle.*  @param tag (IN)     User defined tag for matching send/recv.*  @param flags (IN)   Currently unused.*  @param cbfunc (IN)  Callback function on send completion.*  @param cbdata (IN)  User data that is passed to callback function.*  @return             OMPI error code (<0) on error number of bytes actually sent.**  The user supplied callback function is called when the send completes. Note that*  the callback may occur before the call to mca_oob_send returns to the caller,*  if the send completes during the call.**/ORTE_DECLSPEC int mca_oob_send_packed_nb(    orte_process_name_t* peer,    orte_buffer_t* buffer,    int tag,    int flags,    mca_oob_callback_packed_fn_t cbfunc,    void* cbdata);/*** Non-blocking version of mca_oob_recv().** @param peer (IN)    Opaque name of peer process or ORTE_NAME_WILDCARD for wildcard receive.* @param msg (IN)     Array of iovecs describing user buffers and lengths.* @param count (IN)   Number of elements in iovec array.* @param tag (IN)     User defined tag for matching send/recv.* @param flags (IN)   May be MCA_OOB_PEEK to return up to size bytes of msg w/out removing it from the queue,* @param cbfunc (IN)  Callback function on recv completion.* @param cbdata (IN)  User data that is passed to callback function.* @return             OMPI error code (<0) on error or number of bytes actually received.** The user supplied callback function is called asynchronously when a message is received* that matches the call parameters.*/ORTE_DECLSPEC int mca_oob_recv_nb(    orte_process_name_t* peer,    struct iovec* msg,    int count,    int tag,    int flags,    mca_oob_callback_fn_t cbfunc,    void* cbdata);/*** Routine to cancel pending non-blocking recvs.** @param peer (IN)    Opaque name of peer process or ORTE_NAME_WILDCARD for wildcard receive.* @param tag (IN)     User defined tag for matching send/recv.* @return             OMPI error code (<0) on error or number of bytes actually received.*/ORTE_DECLSPEC int mca_oob_recv_cancel(    orte_process_name_t* peer,    int tag);/*** Non-blocking version of mca_oob_recv_packed().** @param peer (IN)    Opaque name of peer process or ORTE_NAME_WILDCARD for wildcard receive.* @param buffer (IN)  Array of iovecs describing user buffers and lengths.* @param count (IN)   Number of elements in iovec array.* @param tag (IN)     User defined tag for matching send/recv.* @param flags (IN)   May be MCA_OOB_PEEK to return up to size bytes of msg w/out removing it from the queue,* @param cbfunc (IN)  Callback function on recv completion.* @param cbdata (IN)  User data that is passed to callback function.* @return             OMPI error code (<0) on error or number of bytes actually received.** The user supplied callback function is called asynchronously when a message is received* that matches the call parameters.*/ORTE_DECLSPEC int mca_oob_recv_packed_nb(    orte_process_name_t* peer,    int tag,    int flags,    mca_oob_callback_packed_fn_t cbfunc,    void* cbdata);/** *  A "broadcast-like" function over the specified set of peers. *  @param  root    The process acting as the root of the broadcast. *  @param  peers   The list of processes receiving the broadcast (excluding root). *  @param  buffer  The data to broadcast - only significant at root. *  @param  cbfunc  Callback function on receipt of data - not significant at root. * *  Note that the callback function is provided so that the data can be *  received and interpreted by the application prior to the broadcast *  continuing to forward data along the distribution tree. */ORTE_DECLSPEC int mca_oob_xcast(orte_jobid_t job,                                bool process_first,                                orte_buffer_t* buffer,                                orte_gpr_trigger_cb_fn_t cbfunc);/* * Callback on exception condition. */typedef enum {    MCA_OOB_PEER_UNREACH,    MCA_OOB_PEER_DISCONNECTED} mca_oob_base_exception_t;typedef int (*mca_oob_base_exception_fn_t)(const orte_process_name_t* peer, int exception);/** *  Register a callback function on loss of a connection. */ORTE_DECLSPEC int mca_oob_add_exception_handler(    mca_oob_base_exception_fn_t cbfunc);/** * Remove a callback */ORTE_DECLSPEC int mca_oob_del_exception_handler(    mca_oob_base_exception_fn_t cbfunc);/** * Invoke exception handlers */ORTE_DECLSPEC void mca_oob_call_exception_handlers(    orte_process_name_t* peer, int exception);#if defined(c_plusplus) || defined(__cplusplus)}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -