FORTRAN MPI_GET_PROCESSOR_NAME(NAME, RESULTLEN, IERROR)CHARACTER*(*)NAMEINTEGERRESULTLEN,IERROR 注解 返回的名称应标识特定硬件;确切的格式是定义的实现。 此名称可能与“gethostname”、“uname”或“sysinfo”可能返回的名称相同,也可能不同。
MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD,&rank);//获得进程号MPI_Comm_size(MPI_COMM_WORLD, &numproces);//返回通信子的进程数MPI_Get_processor_name(processor_name,&namelen); fprintf(stderr,"hello world! process %d of %d on %s\n", rank, numproces, processor_name); MPI...
我的Fortran版本是 Intel Fortran+VS2019,是可以完全照搬直接用的。 首先我们复制一下书里的第一个MPI程序Helloworld,用VS新建一个项目,把它复制进去: program main include 'mpif.h' character * (MPI_MAX_PROCESSOR_NAME) processor_name integer myid, numprocs, namelen, rc,ierr call MPI_INIT( ierr ) ca...
Fortran90还有一种写法是use mpi; MPI_MAX_PROCESSOR_NAME 是MPI预定义的宏,即某一MPI的具体实现中允许机器名字的最大长度; 机器名放在变量 processor_name 中; 整型变量myid和numprocs分别用来记录某一个并行执行的进程的标识和所有参加计算的进程的个数; namelen是实际得到的机器名字的长度; rc和ierr分别用来得到...
MPI_GET_ProcESSOR_NAME(processor_name,namelength,ierr) 获得运行本进程的机器的机器名和机器名长度。 processor_name 为 character 型变量,返回运行本进程的机器名。 namelength 为 integer 型变量,返回机器名的长度。 ierr ,程序正确运行时返回 0 。 FORMAT I2,以两个字符长度输出整数,多于位数前面补 空格 。
write(*,*) "Hello World! Processor ",myid," of ",numProcs," on ",p_name(1:nameLen) call mpi_finalize( ierr ) ! 完成 MPI程序 的结束工作 end program 代码2 ! 简单的 MPI 并行程序 Fortran 实现示例! ! -- by Jackdaw ! -- QQ 群 Fortran Coder(2338021)! -- 2018 10 24 ! ! 演示...
MPI_GET_PROCESSOR_NAME 得到运行本进程所在的结点的主机名 ### ·MPI的所有变量、常量和函数、过程均已MPI_开头 ·在C程序中,所有“常数”的定义除下划线外一律由大写字母组成,在“函数和数据类型”定义中,接MPI_之后的第一个字母大写,其余全部为小写字母,即MPI_Xxxx_xxx形式 ·MPI的...
! 简单的 MPI 并行程序 Fortran 实现示例! !--by Jackdaw ! -- QQ 群 Fortran Coder(2338021)! -- 2018 10 24 ! ! 第一个 MPI+Fortran 并行程序! program mainusempi implicit nonecharacter(len=mpi_max_processor_name) :: p_nameinteger:: myid, numProcs, nameLen, ierr ...
假设fortran代码调用一个C函数,这个C函数将stdout的freopen调用到另一个文件。接下来的fortran中的write(*,*)、print *和write(6,*)会发生什么呢?这些输出是否重定向 浏览3提问于2014-09-22得票数 2 回答已采纳 1回答 访问违规书写位置..。可能是由mpi_get_processor_name函数引起的 、、、 当我试图在visual...
' return end if call MPI_Comm_rank(comm, rank, ierr) call MPI_Comm_size(comm, size, ierr) call MPI_Get_processor_name(pname, nlen, ierr) print *, 'Hello, World!', & ' I am process ', rank, & ' of ', size, & ' on ', pname(1:nlen), '.' end subroutine sayhello !