📄 array_add_master.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -