PHDF5并行hdf5按列读写(Columns)-创新互联

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元起,快前往官网查看详情吧


标题名称:PHDF5并行hdf5按列读写(Columns)-创新互联
文章出自:http://pwwzsj.com/article/cocpdp.html