《曙光MPI用户手册 - 中国科学院紫金山天文台.doc》由会员分享,可在线阅读,更多相关《曙光MPI用户手册 - 中国科学院紫金山天文台.doc(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、曙光 MPI 用户手册(TC1700 envelop: process id, message tag,communicator图 1.1:MPI 的消息格式在 MPI 以前的大多数通信系统中,消息 buffer 通常仅由 buffer 的地址和长度决定,那么在 MPI 的消息格式中为什么要引入 Data Type 呢?这有两个主要原因:(1) 支持异构计算:不同系统有不同的数据表示。解决这一问题的方法是预先定义一些基本数据类型,MPI 实现过程中对这些类型进行转换。(2) 派生的数据类型(Derived Data Types):允许消息来自于不连续的和类型不一致的存储区域,下面将详细说明。如
2、何将一个数组的偶数项全部传送出去呢?一般通信系统中采取的方法是:i) 一项一项地传送 ii) 先将每个要传送的元素依次拷贝到一个临时缓冲区中,然后传送该缓冲区。在 MPI 可以这样传送:double A100;MPI-Pack-size (50, MPI-DOUBLE, comm, j = sizeof (MPI-Double);DestinationProcess IDMessage Data TypeMessage CountMessage TagMessage AddressSubroutine Name Communicator曙光 MPI 用户手册3曙光信息产业有限公司Positio
3、n = 0;for (i = 0, i $mv $*.i $(DEVTOP)/pick/$*.fcp $*.F $(DEVTOP)/pick.c.o:$(RM) $ & $(CC) -c $(CFLAGS) $*.c.F.o:$(RM) $(FC) -c $(FCFLAGS) $*.F.F.f:$(RM) $(CPP) $(CPPFLAGS) $*.F $.f.o:$(RM) $曙光 MPI 用户手册8曙光信息产业有限公司$(FC) -c $(FCFLAGS) $*.f3.3 mpif77 和 mpicc如果用户设置了正确的 MPI 系统命令的执行路径,就可以直接地使用命令行方式 mpicc或
4、 mpif77 来编译 C 或 Fortran 程序,编译方式与 cc 和 f77 完全一致。MPI 提供了两个命令 (mpif77 和 mpicc) 来简化编译和链接 MPI Fortran 或 C 语言程序的过程,用户可使用此命令编译 MPI 应用程序,特别是当程序只包含少量文件时。mpif77 (mpicc) 与一般 Fortran (或 C) 编译命令使用方式类似, 可加入同样的选项(详细选项可见有关编译器选项的说明) ,如:mpif77 -c foo.fmpicc -c foo.cmpif77 -o foo foo.fmpicc -o foo foo.c有时链接时需一些特殊库, 应在
5、链接时注明。使用 mpicc 和 mpif77 省略了有关 MPI 的路径设置。4. MPI 应用程序的运行在曙光 4000L 系统上,所有 MPI 应用程序均应在计算节点运行,因此在应用程序编译好后,使用 mpirun 命令运行 MPI 应用程序。mpirun -np mpirun p4pg (ch_p4 时,pgfile 为用户自行指定的机群列表文件)mpich.ch_gm np (myrinet 的机群列表文件默认是$HOME/.gmpi/conf)mpich.ch_gm -gm-f np (有-gm-f 选项时 myrinet 的机群列表文件由用户在 中自行指定 )-np 是用户期望运
6、行的进程数。进程数与实际的物理节点数没有必然联系,因为允许一个节点运行同一个应用的多个进程。如果未指定,则默认为 1。在运行选项之后,是用户的程序名。该可执行文件必须与启动节点上的路径一致。运行选项与用户程序名有先后的顺序,先运行选项,后用户可执行程序名。5. 常见问题分析1、Q:“Permission Denied.”A:所有 slave 进程都是通过 remote shell 启动。如果远程机器不允许远程执行命令,将会遇到上述错误信息。出现上述信息与 MPI 通信库无关。检查.rhosts 配置,和询问系统管理员。2、Q:“pgm_path_name: Command not found ”A:可执行文件找不到。