read_at.f90

来自「The example for Boor USING MPI2」· F90 代码 · 共 27 行

F90
27
字号
! read from a common file using explicit offsetsPROGRAM main    include 'mpif.h'    integer FILESIZE, MAX_BUFSIZE, INTSIZE    parameter (FILESIZE=1048576, MAX_BUFSIZE=1048576, INTSIZE=4)    integer buf(MAX_BUFSIZE), rank, ierr, fh, nprocs, nints    integer status(MPI_STATUS_SIZE), count    integer (kind=MPI_OFFSET_KIND) offset    call MPI_INIT(ierr)    call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr)    call MPI_COMM_SIZE(MPI_COMM_WORLD, nprocs, ierr)    call MPI_FILE_OPEN(MPI_COMM_WORLD, '/pfs/datafile', &                       MPI_MODE_RDONLY, MPI_INFO_NULL, fh, ierr)    nints = FILESIZE/(nprocs*INTSIZE)    offset = rank * nints * INTSIZE    call MPI_FILE_READ_AT(fh, offset, buf, nints, MPI_INTEGER, &                          status, ierr)    call MPI_GET_COUNT(status, MPI_INTEGER, count, ierr)    print *, 'process ', rank, 'read ', count, 'integers'    call MPI_FILE_CLOSE(fh, ierr)    call MPI_FINALIZE(ierr)END PROGRAM main

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?