当前位置: 首页 > news >正文

电子商务网站建设 上海网页微信版本过低

电子商务网站建设 上海,网页微信版本过低,wordpress分享服务器目录,投诉网站怎么做MPI_Pack 和 MPI_Unpack 它们可以将源数据打包成二进制格式以便于传输,或者将二进制格式的数据解包成目标数据。这对函数通常用于在 MPI 应用程序中进行异构系统间的通信,即两个系统之间使用不同的二进制格式进行交互通信。 打包(序列化&…

MPI_Pack 和 MPI_Unpack 它们可以将源数据打包成二进制格式以便于传输,或者将二进制格式的数据解包成目标数据。这对函数通常用于在 MPI 应用程序中进行异构系统间的通信,即两个系统之间使用不同的二进制格式进行交互通信。

打包(序列化)

MPI_Pack 函数将源数据打包成一个二进制数据流,并将其存储在一个缓冲区中,可以通过 MPI_Send 或 MPI_Bsend 将此缓冲区的内容发送到目标节点

在打包数据时,MPI 还会将每个数据元素按照数据类型描述符中指定的数据类型进行打包。MPI_Pack 函数也会检查目标缓冲区的大小,如果目标缓冲区不够大,MPI_Pack 函数会产生 MPI_ERR_TRUNC 错误,因此需要确保目标缓冲区的大小足够存储打包后的二进制数据流。

函数原型

int MPI_Pack(const void *inbuf, int incount, 
MPI_Datatype datatype, void *outbuf, int outsize, 
int *position, MPI_Comm comm);

参数详解

  • const void *inbuf:指向原始数据的指针。
  • int incount:原始数据元素的数量。
  • MPI_Datatype datatype:MPI 原始数据类型描述符。
  • void *outbuf:指向目标缓冲区的指针。
  • int outsize:目标缓冲区的大小。
  • int *position:指向目标缓冲区中下一个可用位置的指针。
  • MPI_Comm comm:MPI 通信域

代码实例:

int MPI_Pack_example()
{int n = 5; double v[5] = {1.0,2.0,3.0,4.0,5.0}; // 打包int position = 0; int buffer_size = n*sizeof(double) + 100;void *buffer = malloc(buffer_size); MPI_Pack(&n,1,MPI_INT,buffer,buffer_size,&position, MPI_COMM_WORLD); MPI_Pack(v,n,MPI_DOUBLE,buffer,buffer_size,&position, MPI_COMM_WORLD);// 发送缓冲区MPI_Send(buffer, position, MPI_PACKED, 1, 0, MPI_COMM_WORLD);// 释放内存free(buffer);return 0;
}

解包 (反序列化)

将目标缓冲区中的二进制数据流解包成目标数据,并存储在指定的内存地址中。

函数在解包数据时,会使用 MPI_Unpack 队列中存放的 MPI_Datatype 来还原打包之前的数据类型,并将数据解包到原始数据缓冲区。

函数原型

int MPI_Unpack(const void *inbuf, int insize, 
int *position, void *outbuf, int outcount, 
MPI_Datatype datatype, MPI_Comm comm);

参数详解

  • const void *inbuf:指向目标缓冲区的指针。
  • int insize:目标缓冲区的大小。
  • int *position:指向目标缓冲区中下一个可用位置的指针。
  • void *outbuf:存储目标数据的指针。
  • int outcount:目标数据元素的数量。
  • MPI_Datatype datatype:MPI 原始数据类型描述符。
  • MPI_Comm comm:MPI 通信域

代码实例

int MPI_Unpack_example()
{int count;double *data;// 接收打包后的数据MPI_Status status;MPI_Probe(0,0,MPI_COMM_WORLD,&status);int size;MPI_Get_count(&status,MPI_PACKED,&size);void *buffer = malloc(size);MPI_Recv(buffer,size,MPI_PACKED,0,0,MPI_COMM_WORLD,&status);// 解包int position = 0;MPI_Unpack(buffer, size, &position, &count, 1, MPI_INT, MPI_COMM_WORLD);data = (double*)malloc(count*sizeof(double));MPI_Unpack(buffer, size, &position, data, count, MPI_DOUBLE, MPI_COMM_WORLD);// 打印解包后的数据printf("count = %d\n", count);for(int i=0; i<count; i++){printf("%f ", data[i]);}printf("\n");// 释放内存free(buffer);free(data);return 0;
}
http://www.15wanjia.com/news/173153.html

相关文章:

  • 免费俄罗斯网站制作购物平台取名字
  • 邢台哪儿做wap网站好有哪些网站可以做海报设计知乎
  • 淘宝网站小视频怎么做企业建设网站的重要性
  • 企业网站建设的调研如何修改wordpress的字体
  • 一般上什么网站wordpress后台是什么样的
  • 什么是 网站收录模板网站也需要服务器吗
  • 佛山专注网站制作细节wordpress浏览器
  • 公司网站模板侵权案例不会建网站怎么赚钱
  • 做黄金的分析师网站iis禁止通过ip访问网站
  • 自助建站管理平台网站后台使用说明
  • 杭州临安网站建设中交路桥建设有限公司待遇
  • 网站后台管理系统破解嘉兴网站备案
  • 两学一做网站是多少logo设计免费软件
  • 哪个网站做餐饮推广最好什么网站做企业邮箱服务
  • 湖南网站建设开发公司个人网站下载
  • 做一个简单的网站需要多少钱wordpress快速配图
  • 网站代码管理网站建设列入管理费用说明科目
  • 顺义建设网站软件开发流程八个步骤概要分析
  • 如何做网站的映射专业做二手网站
  • 微信官方网站怎么进入icp备案网站信息修改
  • php如何创建站点烟台58同城网站建设
  • 网站建设所用系统想办个网站怎么做
  • 个人网站用什么服务器企业组网方案
  • 广州 建 网站wordpress地址和站点地址错
  • 网站正在建设 h5模板网站集约化建设力度
  • 网络购物网站建设沃航科技网站开发
  • 徐州手机网站设计深圳知名工业设计公司
  • 有什么检索标准的网站怎样弄一个自己的网站
  • 盐城高端网站建设网站开发过时了
  • 国外网站能否做百科参考资料可以仿做网站吗