array_add_master.c

来自「C programs for adding two matrices paral」· C语言 代码 · 共 47 行

C
47
字号
#include "pvm3.h"#include <stdio.h>#define SIZE 99#define NPROCS 3main(){   int mytid, task_ids[NPROCS];   int a[SIZE], results[NPROCS], sum = 0;   int i, msgtype,num_data = SIZE;   /* enroll in PVM */   mytid = pvm_mytid();   for (i = 0; i < SIZE; i++)      a[i] = i;   /* spawn worker tasks */   pvm_spawn("array_add_slave", (char **)0, PvmTaskDefault, "", NPROCS, task_ids);   /* send data to worker tasks */   for (i = 0; i < NPROCS; i++) {      pvm_initsend(PvmDataDefault);      pvm_pkint(&num_data, 1, 1);      printf("Hello....\n");      pvm_pkint(a, num_data, 1);      printf("Hello 222222\n");      pvm_send(task_ids[i], 4);   }	printf("Successfully send....\n");   /* wait and gather results */   msgtype = 7;   for (i = 0; i < NPROCS; i++) {      pvm_recv(task_ids[i], msgtype);      pvm_upkint(&results[i], 1, 1);      sum += results[i];	printf("Temp result =%d\n",sum);   }   printf("The actual sum is %d \n",sum/NPROCS);   pvm_exit();}

⌨️ 快捷键说明

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