CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

如何在MPICH中传递结构体类型?

楼主wkw119(蓝天)2006-05-01 00:21:30 在 C/C++ / C语言 提问

我想通过MPI_Gather()和MPI_Bcast()进行通讯,传递的数据是类型为如下结构体的currentbest:  
  struct   individual{  
  int   chrom[LENGTH];  
  int   realchrom[LENGTH];  
  double   value;  
  };  
  struct   individual   currentbest;  
  请问如何定义数据类型MPI_Datatype? 问题点数:30、回复次数:1Top

1 楼lightnut()回复于 2006-05-01 03:05:18 得分 30

int   blockLens[3]   =   {LENGTH,   LENGTH,   1};    
  MPI_Datatype   type[3]   =   {MPI_INT,   MPI_INT,   MPI_DOUBLE};  
  MPI_Aint   disp[3];  
  MPI_Address(   &currentbest,   &disp[0]   );  
  MPI_Address(   &currentbest.realchrom[0],   &disp[1]   );  
  MPI_Address(   &currentbest.value,   &disp[2]);  
  disp[2]   =   disp[2]   -   disp[0];  
  disp[1]   =   disp[1]   -   disp[0];  
  disp[0]   =   0;  
   
  MPI_Datatype   individualType;  
  MPI_Type_struct(1,   blockLens,   disp,   type,   &individualType);  
  MPI_Type_commit(&individualType);  
   
  .....//using   the   individualType  
   
  MPI_Type_free(&individualType);  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:wkw119
  • lightnut

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo