将同一节点上运行的进程划分到同一个通信域
来源:互联网 发布:搜狐媒体大厦淘宝地址 编辑:程序博客网 时间:2024/06/08 05:45
在MPI中,需要将同一个节点上运行的程序划分到同一个通行域中,这样可以使得消息的传递更加快捷和方便,实现代码如下:
#include "mpi.h"
#include <stdio.h>#include <unistd.h>#include <string.h>int main(int argc,char ** argv){ int rank; int size; char myName[100]; int i=0; MPI_Init(&argc,&argv); MPI_Comm_rank(MPI_COMM_WORLD,&rank); MPI_Comm_size(MPI_COMM_WORLD,&size);// printf("%d\n",size); char *allHostName=(char *)malloc(size*sizeof(MPI_CHAR)*100); gethostname(myName,100); MPI_Allgather(myName,100,MPI_CHAR,allHostName,100,MPI_CHAR,MPI_COMM_WORLD); int color,key; int count=0; MPI_Comm myWorld,splitWorld; for(i=0;i<size;i++) { if(strcmp(myName,allHostName+100*i)==0) { if(count==0) key=i; if(i==rank) { color=count; break; } count++; } } MPI_Comm_dup(MPI_COMM_WORLD,&myWorld); MPI_Comm_split(myWorld,color,key,&splitWorld); MPI_Finalize(); return 0; }
- 将同一节点上运行的进程划分到同一个通信域
- 思科模拟器:将同一交换机下的计算机划分到不同的VLAN下
- 将一个已经运行的进程attach到固定CPU内核上的方法(linux,windows)
- c# wcf NetNamePipeBinding 实现同一系统上不同进程之间的通信
- 【进程线程与同步】5.2 避免在同一机器上运行同一程序的多个实例
- MPI通信域划分及新通信域各进程间的点对点阻塞式通信
- 同一个父进程的多个子进程之间的通信
- Excel默认将表格归纳到同一窗口中如何将标签划分为窗口
- C++ 将进程运行在指定的CPU上
- 将同一款APP的两个不同连接安装到同一台手机上的方法
- Service与Activity之间的通信(同一进程)binder
- MapReduce中的分区Partitioner,如何将拥有同一属性的数据放入同一个分区
- Wince上的进程通信
- Wince上的进程通信
- Wince上的进程通信
- 将JavaFX运行到Android上
- 同一个存储过程中,不能多次select into 到同一张表的问题
- 如何在同一台电脑使用不同的账号提交到同一个github仓库
- 网络编程内容的小结
- 输出字符图形·3
- mysql与csv的数据转换
- 利用ViewPager实现可左右滑动的Action Tab
- jdbc2_DriverManager_Connection
- 将同一节点上运行的进程划分到同一个通信域
- Diary in 20121106
- 请编写一个关于星期几的枚举WeekDay
- 搜狗输入法几个实用技巧
- 史上最全的css hack(ie6-9,firefox,chrome,opera,safari)
- 史上最全的css hack(ie6-9,firefox,chrome,opera,safari)
- 请使用sun 内省api得到某一个bean的所有属性,并操作bean的其中一个属性(给属性赋值,以及得到属性的值
- 优化SQL查询:如何写出高性能SQL语句
- Core Mappings in Action-Oriented Web Framework