%曙光 计算,改变您的现在 Hello world(Fortran) program main include mpif.h' integer ierr call MPI INIT(ierr print *,'Hello,world! call MPI FINALIZE(ierr end 2024年2月 11/55
2024年2月 11/55 Hello world(Fortran) program main include ‘mpif.h’ integer ierr call MPI_INIT( ierr ) print *, 'Hello, world!' call MPI_FINALIZE( ierr ) end
%曙光 计算,改变您的现在 和Fortran中MPI函数约定 C 必须包含mpi.h. 口MPI函数返回出错代码或MPI SUCCESS成功标志. ■MPI-前缀,且只有MP以及PI标志后的第一个字母大写,其 余小写 e Fortran ▣必须包含mpif.h. 口通过子函数形式调用MPI,函数最后一个参数为返回值. 口MPL-前缀,且函数名全部为大写. @MPI函数的参数被标志为以下三种类型: 口N:参数在例程的调用中不会被修正, 口OUT:参数在例程的调用中可能会被修正! 口NOUT:参数有初始值,且在例程的调用中可能会被修正 2024年2月 12/55
2024年2月 12/55 C和Fortran中MPI函数约定 C 必须包含mpi.h. MPI 函数返回出错代码或 MPI_SUCCESS成功标志. MPI-前缀,且只有MPI以及MPI_标志后的第一个字母大写,其 余小写. Fortran 必须包含mpif.h. 通过子函数形式调用MPI,函数最后一个参数为返回值. MPI-前缀,且函数名全部为大写. MPI函数的参数被标志为以下三种类型: IN:参数在例程的调用中不会被修正. OUT:参数在例程的调用中可能会被修正. INOUT:参数有初始值,且在例程的调用中可能会被修正
%曙光 计算,改变您的现在 MP初始化-MPI INIT int MPI_Init(int *argc,char **argv) MPI INIT(IERROR) 回MPI INIT是MPI程序的第一个调用,它完成 MP程序的所有初始化工作。所有的MPI程序 的第一条可执行语句都是这条语句。 回启动MP环境,标志并行代码的开始. 回并行代码之前,第一个mpi函数(除 MPI_Initialized(0外). 回要求main必须带参数运行,否则出错. 2024年2月 13/55
2024年2月 13/55 MPI初始化-MPI_INIT int MPI_Init(int *argc, char **argv) MPI_INIT(IERROR) MPI_INIT是MPI程序的第一个调用,它完成 MPI程序的所有初始化工作。所有的MPI程序 的第一条可执行语句都是这条语句。 启动MPI环境,标志并行代码的开始. 并行代码之前,第一个mpi函数(除 MPI_Initialized()外). 要求main必须带参数运行,否则出错
曙光 计算,改变您的现在 MP结束-MPI FINALIZE int MPI Finalize(void) MPI FINALIZE(IERROR) 回MPI FINALIZE是PI程序的最后一个调用, 它结束MPI程序的运行,它是MPI程序的最后 一条可执行语句,否则程序的运行结果是不可 预知的。 口标志并行代码的结束,结束除主进程外其它进程 之后串行代码仍可在主进程(rank=0)上运行 (如果必须) 2024年2月 14/55
2024年2月 14/55 MPI结束-MPI_FINALIZE int MPI_Finalize(void) MPI_FINALIZE(IERROR) MPI_FINALIZE是MPI程序的最后一个调用, 它结束MPI程序的运行,它是MPI程序的最后 一条可执行语句,否则程序的运行结果是不可 预知的。 标志并行代码的结束,结束除主进程外其它进程. 之后串行代码仍可在主进程(rank = 0)上运行 (如果必须)
曙光 计算,改变您的现在 MPI程序的的编译与运行 e mpif77 hello.f mpicc hello.c 回默认生成a.out的可执行代码. e mpif77-o hello hello.f 小写 e mpicc-o/hello hello.c ▣生成hello的可执行代码. Anp: e mpirun -np 4 a.out The number of process. e mpirun -np 4 hello 口4指定np的实参,表示进程数,由用户指定. ua.out hello要运行的MPl并行程序. 2024年2月 15/55
2024年2月 15/55 MPI程序的的编译与运行 mpif77 hello.f 或 mpicc hello.c 默认生成a.out的可执行代码. mpif77 –o hello hello.f 或 mpicc –o hello hello.c 生成hello的可执行代码. mpirun –np 4 a.out mpirun –np 4 hello 4 指定np的实参,表示进程数,由用户指定. a.out / hello 要运行的MPI并行程序. %小写o %np: The number of process