allredopttf90.f90

来自「fortran并行计算包」· F90 代码 · 共 47 行

F90
47
字号
! This file created from test/mpi/f77/coll/allredopttf.f with f77tof90! -*- Mode: Fortran; -*- !!  (C) 2007 by Argonne National Laboratory.!      See COPYRIGHT in top-level directory.!      program main      use mpi      integer*8 inbuf, outbuf      double complex zinbuf, zoutbuf      integer wsize      integer errs, ierr      errs = 0            call mtest_init( ierr )      call mpi_comm_size( MPI_COMM_WORLD, wsize, ierr )!! A simple test of allreduce for the optional integer*8 type      inbuf = 1      outbuf = 0      call mpi_allreduce(inbuf, outbuf, 1, MPI_INTEGER8, MPI_SUM,  &      &                   MPI_COMM_WORLD, ierr)      if (outbuf .ne. wsize ) then         errs = errs + 1         print *, "result wrong for sum with integer*8 = got ", outbuf,  &      & " but should have ", wsize      endif      zinbuf = (1,1)      zoutbuf = (0,0)      call mpi_allreduce(zinbuf, zoutbuf, 1, MPI_DOUBLE_COMPLEX,  &      &                   MPI_SUM,  MPI_COMM_WORLD, ierr)      if (dreal(zoutbuf) .ne. wsize ) then         errs = errs + 1         print *, "result wrong for sum with double complex = got ",  &      & outbuf, " but should have ", wsize      endif      if (dimag(zoutbuf) .ne. wsize ) then         errs = errs + 1         print *, "result wrong for sum with double complex = got ",  &      & outbuf, " but should have ", wsize      endif      call mtest_finalize( errs )      call mpi_finalize( ierr )      end

⌨️ 快捷键说明

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