扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
PHDF5并行写入数据是发起多个进程,被发起进程按照某一规则 写入数据到指定位置。
创新互联公司-专业网站定制、快速模板网站建设、高性价比鹤庆网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式鹤庆网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖鹤庆地区。费用合理售后完善,十载实体公司更值得信赖。用C语言编写一个连续的hyperlab.
在本例中,有一个8(行)x 6(列)的数据集,每个进程向数据集写入相同数量的列。
在本例中,有两个进程写入同一个数据集,每个进程写入数据集中的每一列。对于每个进程,文件中的hyperlab设置如下:
89 count[0] = 1;
90 count[1] = dimsm[1];
91 offset[0] = 0;
92 offset[1] = mpi_rank;
93 stride[0] = 1;
94 stride[1] = 2;
95 block[0] = dimsf[0];
96 block[1] = 1;
维度1的步幅为2,表示沿着这个维度的每一个其他位置都将写入。步幅为1表示将写入一个维度上的每个位置。
对于两个进程,mpi_rank将是0或1。因此:
进程0写偶数列(0,2,4…)
进程1写入奇数列(1,3,5…)
块大小允许每个进程将一列数据写入数据集中的每个其他位置。
下面是这个例子创建的HDF5文件的h5dump的输出:
HDF5 "SDS_col.h5" { GROUP "/" { DATASET "IntArray" { DATATYPE H5T_STD_I32BE DATASPACE SIMPLE { ( 8, 6 ) / ( 8, 6 ) } DATA { 1, 2, 10, 20, 100, 200, 1, 2, 10, 20, 100, 200, 1, 2, 10, 20, 100, 200, 1, 2, 10, 20, 100, 200, 1, 2, 10, 20, 100, 200, 1, 2, 10, 20, 100, 200, 1, 2, 10, 20, 100, 200, 1, 2, 10, 20, 100, 200 } } }
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流