mutual.c

来自「MPICH是MPI的重要研究,提供了一系列的接口函数,为并行计算的实现提供了编程」· C语言 代码 · 共 62 行

C
62
字号
#include "p4.h"extern void slave();int main(argc,argv)     int argc;     char **argv;{  p4_initenv(&argc,argv);  p4_create_procgroup();  slave();  p4_wait_for_end();}void slave(){    int i,j;    char *buffer;    int msg_len;    int len;    int type;    int me = p4_get_my_id();    int nproc = p4_num_total_ids();        len = 32800;  /* fails with 32800 */        if ( (buffer = p4_shmalloc((unsigned) len)) == (char *) NULL)	p4_error("Ring: failed to allocate buffer",len);      type = 5;    for (j = 0; j < 2; j++)    {	for(i=0; i<nproc; i++)	    if (i!=me)	    {		(void) p4_send(type,i, buffer, len);		(void) p4_send(type,i, buffer, len);		    }	for(i=0; i<nproc; i++)	    if (i!=me)	    {		msg_len = len;		(void) p4_recv(&type, &i, &buffer, &msg_len);		(void) p4_recv(&type, &i, &buffer, &msg_len);	    }	if (me == 0)	    (void) printf("Messages whith %d bytes lenght sent and received\n",			  len);    }        if (me == 0)	(void) p4_shfree(buffer);}

⌨️ 快捷键说明

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