并行IO

原理

并行IO可以使多个进程同时进行IO操作,在HPC应用中有大量的IO操作,并行IO能够提高程序运行速度。并行IO有三种模式:

修改方式

并行IO有四种接口:POSIX I/O,MPI I/O,HDF5 I/O,NetCDF-4 I/O(parallel-netcdf),需要根据HPC应用支持的并行IO进行对应修改。这里以parallel-netcdf为例,parallel-netcdf是一个使用MPI-IO和一个定制版本的NETCDF API来实现高性能I/O的库,可以通过启用parallel-netcdf库来提升IO性能,常应用于气象、海洋、环境等领域。

修改步骤如下:

  1. 下载安装parallel-netcdf,方法参考链接:https://github.com/Parallel-NetCDF/PnetCDF
  2. 执行以下命令设置PNETCDF环境变量。

    1
    2
    export PATH=/path/to/PNETCDF/bin:$PATH
    export LD_LIBRARY_PATH=/path/to/PNETCDF/lib:$LD_LIBRARY_PATH
    

  3. 编译应用软件时通过设置CPPFLAGS和LDFLAGS将PNETCDF链接到应用软件。

    1
    2
    3
    export PNETCDF=/path/to/PNETCDF
    export CPPFLAGS="-I$PNETCDF/include"
    export LDFLAGS="-L$PNETCDF/lib -lpnetcdf"