⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 baseattr2f90.f90

📁 mpi并行计算的c++代码 可用vc或gcc编译通过 可以用来搭建并行计算试验环境
💻 F90
字号:
! This file created from test/mpi/f77/attr/baseattr2f.f with f77tof90! -*- Mode: Fortran; -*-!!! (C) 2001 by Argonne National Laboratory.!     See COPYRIGHT in top-level directory.!        program main        use mpi        integer ierr, errs        logical flag        integer value, commsize, commrank        errs = 0        call mpi_init( ierr )        call mpi_comm_size( MPI_COMM_WORLD, commsize, ierr )        call mpi_comm_rank( MPI_COMM_WORLD, commrank, ierr )        call mpi_attr_get( MPI_COMM_WORLD, MPI_TAG_UB, value, flag, ierr &      &       )         if (.not. flag) then           errs = errs + 1           print *, "Could not get TAG_UB"        else           if (value .lt. 32767) then              errs = errs + 1              print *, "Got too-small value (", value, ") for TAG_UB"            endif        endif        call mpi_attr_get( MPI_COMM_WORLD, MPI_HOST, value, flag, ierr )        if (.not. flag) then           errs = errs + 1           print *, "Could not get HOST"        else            if ((value .lt. 0 .or. value .ge. commsize) .and. value .ne. &      &          MPI_PROC_NULL) then               errs = errs + 1              print *, "Got invalid value ", value, " for HOST"           endif        endif           call mpi_attr_get( MPI_COMM_WORLD, MPI_IO, value, flag, ierr )        if (.not. flag) then           errs = errs + 1           print *, "Could not get IO"        else           if ((value .lt. 0 .or. value .ge. commsize) .and. value .ne. &      &          MPI_ANY_SOURCE .and. value .ne. MPI_PROC_NULL) then              errs = errs + 1              print *, "Got invalid value ", value, " for IO"           endif        endif        call mpi_attr_get( MPI_COMM_WORLD, MPI_WTIME_IS_GLOBAL, value, &      &       flag, ierr )        if (flag) then!          Wtime need not be set           if (value .lt.  0 .or. value .gt. 1) then               errs = errs + 1              print *, "Invalid value for WTIME_IS_GLOBAL (got ", value, &      &             ")"            endif        endif        call mpi_attr_get( MPI_COMM_WORLD, MPI_APPNUM, value, flag, ierr &      &       )!     appnum need not be set        if (flag) then           if (value .lt. 0) then              errs = errs + 1              print *, "MPI_APPNUM is defined as ", value, &      &             " but must be nonnegative"            endif        endif        call mpi_attr_get( MPI_COMM_WORLD, MPI_UNIVERSE_SIZE, value, &      &       flag, ierr )!     MPI_UNIVERSE_SIZE need not be set        if (flag) then           if (value .lt. commsize) then              errs = errs + 1              print *, "MPI_UNIVERSE_SIZE = ", value, &      &             ", less than comm world (", commsize, ")"           endif        endif            call mpi_attr_get( MPI_COMM_WORLD, MPI_LASTUSEDCODE, value, flag &      &       , ierr )! Last used code must be defined and >= MPI_ERR_LASTCODE        if (flag) then           if (value .lt. MPI_ERR_LASTCODE) then            errs = errs + 1            print *, "MPI_LASTUSEDCODE points to an integer (", &      &           MPI_ERR_LASTCODE, ") smaller than MPI_ERR_LASTCODE (", &      &           value, ")"            endif         else             errs = errs + 1            print *, "MPI_LASTUSECODE is not defined"         endif!     Check for errors      if (errs .eq. 0) then         print *, " No Errors"      else         print *, " Found ", errs, " errors"      endif      call MPI_Finalize( ierr )      end

⌨️ 快捷键说明

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