buftest.c
来自「MPICH是MPI的重要研究,提供了一系列的接口函数,为并行计算的实现提供了编程」· C语言 代码 · 共 56 行
C
56 行
#include "p4.h"#define BARRIER_TYPE 100#define MSG_OTHER 200main( argc, argv)int argc;char **argv;{ int w = 0; int left, len = 10, i; int reps = 10; char *rbuffer, *sbuffer; int id; int type, from, size; p4_initenv(&argc, argv); p4_create_procgroup(); id = p4_get_my_id(); left = !id; /***** RMB -> these values must be passed to p1 when read by p0 if (id == 0) { printf("reps? "); scanf("%d",&reps); printf("len? "); scanf("%d",&len); printf("sleep? "); scanf("%d",&w); printf("reps = %d, len = %d, sleep = %d\n", reps, len, w); } *****/ sbuffer = (char *) p4_msg_alloc(len); rbuffer = (char *) p4_msg_alloc(len); p4_dprintf("synchronizing....\n"); p4_global_barrier(BARRIER_TYPE); p4_dprintf("Starting sends %d %d\n",len,reps); for ( i=0; i<reps; i++ ) { usleep(w); p4_send(MSG_OTHER,left,sbuffer,len); } p4_dprintf("Starting receives\n"); for ( i=0; i<reps; i++ ) { type = MSG_OTHER; from = left; p4_recv(&type,&from,&rbuffer,&size); } p4_dprintf("Past receives\n"); p4_wait_for_end(); fprintf(stdout,"All done\n"); fflush(stdout);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?