Skip to content
Snippets Groups Projects
Commit 8481ec5a authored by Thomas Jahns's avatar Thomas Jahns :cartwheel:
Browse files

exchangers: Add table of functions corresponding to send modes.

parent 84f9f515
No related branches found
No related tags found
1 merge request!31Draft: Attempt at fuller exchanger interface
......@@ -220,6 +220,18 @@ xt_exchanger_iter_get_displacement(Xt_exchanger_iter iter)
return iter->vtable->get_displacement(iter);
}
const Xt_code_ptr xt_send_func_tab[2][xt_exch_send_comm_mode_count] = {
{
[xt_exch_send_standard] = (Xt_code_ptr)MPI_Isend,
[xt_exch_send_buffered] = (Xt_code_ptr)MPI_Ibsend,
[xt_exch_send_synchronous] = (Xt_code_ptr)MPI_Issend,
},
{
[xt_exch_send_standard] = (Xt_code_ptr)MPI_Send,
[xt_exch_send_buffered] = (Xt_code_ptr)MPI_Bsend,
[xt_exch_send_synchronous] = (Xt_code_ptr)MPI_Ssend,
}
};
/*
* Local Variables:
......
......@@ -261,7 +261,18 @@ PPM_DSO_INTERNAL void
xt_msg_params_destruct(size_t n, struct Xt_msg_param *msgs,
MPI_Comm comm);
typedef int (*Xt_a_send_func_ptr)
(void *buf, int count, MPI_Datatype datatype, int dest,
int tag, MPI_Comm comm, MPI_Request *request);
typedef int (*Xt_send_func_ptr)
(void *buf, int count, MPI_Datatype datatype, int dest,
int tag, MPI_Comm comm);
typedef void (*Xt_code_ptr)(void);
PPM_DSO_INTERNAL extern const Xt_code_ptr
xt_send_func_tab[2][xt_exch_send_comm_mode_count];
#endif // XT_EXCHANGER_INTERNAL_H
/*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment