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

📄 namepubf90.f90

📁 fortran并行计算包
💻 F90
字号:
! This file created from test/mpi/f77/spawn/namepubf.f with f77tof90! -*- Mode: Fortran; -*- !! (C) 2003 by Argonne National Laboratory.!     See COPYRIGHT in top-level directory.!      program main      use mpi      integer errs      character*(MPI_MAX_PORT_NAME) port_name      character*(MPI_MAX_PORT_NAME) port_name_out      character*(256) serv_name      integer merr, mclass      character*(MPI_MAX_ERROR_STRING) errmsg      integer msglen, rank      integer ierr      errs = 0      call MTest_Init( ierr )      call MPI_Comm_rank(MPI_COMM_WORLD, rank, ierr )!       Note that according to the MPI standard, port_name must!       have been created by MPI_Open_port.  For current testing!       purposes, we'll use a fake name.  This test should eventually use!       a valid name from Open_port       port_name = 'otherhost:122'      serv_name = 'MyTest'            call MPI_Comm_set_errhandler( MPI_COMM_WORLD, MPI_ERRORS_RETURN, &      &     ierr )      if (rank .eq. 0) then         merr = -1         call MPI_Publish_name( serv_name, MPI_INFO_NULL, port_name, &      &        merr )         if (merr .ne. MPI_SUCCESS) then            errs = errs + 1            call MPI_Error_string( merr, errmsg, msglen, ierr )            print *, "Error in Publish_name ", errmsg(1:msglen)         endif         call MPI_Barrier(MPI_COMM_WORLD, ierr )         call MPI_Barrier(MPI_COMM_WORLD, ierr )                 merr = -1         call MPI_Unpublish_name( serv_name, MPI_INFO_NULL, port_name, &      &        merr)         if (merr .ne. MPI_SUCCESS) then            errs = errs + 1            call MPI_Error_string( merr, errmsg, msglen, ierr )            print *,  "Error in Unpublish name ", errmsg(1:msglen)         endif      else         call MPI_Barrier(MPI_COMM_WORLD, ierr )         merr = -1         call MPI_Lookup_name( serv_name, MPI_INFO_NULL, port_name_out, &      &        merr)         if (merr .ne. MPI_SUCCESS) then            errs = errs + 1            call MPI_Error_string( merr, errmsg, msglen, ierr )            print *, "Error in Lookup name", errmsg(1:msglen)         else             if (port_name .ne. port_name_out) then                errs = errs + 1                print *, "Lookup name returned the wrong value (", &      &               port_name_out, "), expected (", port_name, ")"              endif          endif        call MPI_Barrier(MPI_COMM_WORLD, ierr )      endif      call MPI_Barrier(MPI_COMM_WORLD, ierr )          merr = -1      call MPI_Lookup_name( serv_name, MPI_INFO_NULL, port_name_out, &      &     merr )      if (merr .eq. MPI_SUCCESS) then         errs = errs + 1         print *, "Lookup name returned name after it was unpublished"      else!       Must be class MPI_ERR_NAME          call MPI_Error_class( merr, mclass, ierr )        if (mclass .ne. MPI_ERR_NAME) then            errs = errs + 1            call MPI_Error_string( merr, errmsg, msglen, ierr )            print *,    "Lookup name returned the wrong error class &      &           (",mclass,"), msg ", errmsg         endif      endif            call MTest_Finalize( errs )      call MPI_Finalize( ierr )      end

⌨️ 快捷键说明

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