我必须实现使用k-ary复制的广播算法。
void mpi_mbroadcast(int fromp, int multi, int degree, char * from, char * to, int nbytes);
1) fromp 是保存要广播的消息的源处理器。
2) multi 是正在复制的数据结构的长度(要广播的结构是多个条目的数组,每个条目的大小为nbytes long)。
3)度是复制程度。每个超级步骤中的每个处理器都会将收到的消息发送到最多 degree - 1 其他处理器。
4)来自是将要广播的第一个字节的基地址。
5)到是接收广播信息的第一个位置的基地址。
6) nbytes 是要复制的基本数据类型(数组元素)的字节大小。
我已经实现了一个计算部分和的程序并将总和发送到处理器0.现在我必须实现一个通过k-ary复制来广播和的程序。
如何使用上述功能发送和接收数据。 (我认为这是全部广播)?