• mpi命令


    1.mpd & 启动本机的mpi守护进程

    2. mpdboot:  

    启动集群mpd守护进程,在运行MPI程序前必须开启每个节点上的mpd守护进程。 
    常用的参数: 
           -n  nodenum,需要启动的节点数量 
           -f  hostsfile节点列表,与-n 一起使用表示启动节点列表中的nodenum个节点。 
           若没有-n选项,则只启动本地mpd进程。 
    3. mpdtrace: 
    查看集群mpd守护进程。 
    常用参数: 
           -l  输出mpdid和IP 
    4. mpdexit: 
    杀死指定节点mpd守护进程。 
    常用参数: 
           -mpdid 
    5. mpdallexit:

    杀死所有的mpd守护进程。 

    6.mpdtrace:查看MPI环境中的机器 

    7. mpiexec: 
    MPI程序运行命令,运行前必须开启mpd守护进程。 
    常用形式: 
           mpiexec <g-options> <l-options> <executable> 
           mpiexec <g-options> <l-options> <executable> 
           mpiexec –configfile <file> 
    其中,
           <g-options>  全局选项运用于所有MPI进程。 
           <l-options>  本地选项应用于部分MPI进程集合。 
           <executable> 可执行文件的路劲。 
           <file>       包含命令行选项的文件。 
    全局选项中常用参数:
            -gdb 调试运行 
            -machinefile <file> MPI进程分配文件。 
    本地选项中常用参数:
            -n num 设置执行MPI程序的进程总数 
    注意:全局选项和本地选项顺序不要弄错。 
    8. mpirun: 
    MPI程序快速执行命令,运行前不必运行mpdboot开启守护进程。 
    9. mpd测试命令:mpdcheck和mpdringtest 
    mpdcheck用来检查mpi安装和运行时的故障和异常。 
    mpdringtest测试一个mpd回环的传输时间。 
    10. mpd帮助命令:mpdhelp 
    mpdhelp显示所有mpd命令。 

    11. 编译命令

     

    mpicc: 
    MPI程序编译命令。 
    常用参数: -g  加入调试信息。
    mpiCC/mpicc/mpif77/mpif90
    mpiCC编译并联接用C++编写的MPI程序 而mpicc是编译并联接用C编写的MPI程序
    mpif77和mpif90分别编译并联接用FORTRAN77和Fortran90编写的MPI程序

    这些命令在联接时可以自动提供MPI需要的库 并提供特定的开关选项 

    注意mpiCC不能不能用于编译C程序 常用的编译选项是
          -mpilog    产生MPE的log文件
          -mpitrace 产生跟踪文件
    这样在该MPI程序执行时会打印出其运行踪迹信息,但是它和-mpilog 在编译时不能同时存在 只能二者选一
          -mpianim 产生实时动画
          -show     显示编译时产生的命令 但并不执行它
          -help      给出帮助信息
          -echo     显示出当前正在编译联接的命令信息
    此外它们还可以使用一般的C++/C/FORTRAN77/Fortran90通用的选项,含义和原来的编译器相同

    To compile a single file foo.c, use
       mpicc -c foo.c
    To link the output and make an executable, use
       mpicc -o foo foo.o
    Combining compilation and linking in a single command
       mpicc -o foo foo.c
    最简单的MPI运行命令是
    mpirun –np N program
    program是可执行MPI程序名 以这种方式进行执行
    其中N是同时运行的进程的个数
    需要首先对可用的机器进行配置 配置文件是$(HOME)/mpich/util/machines/machines.LINUX
    在这个文件中 每一行写上可用的机器名 比如
    tp5.cs.tsinghua.edu.cn
    tp1.cs.tsinghua.edu.cn
    tp2.cs.tsinghua.edu.cn
    tp3.cs.tsinghua.edu.cn
    tp4.cs.tsinghua.edu.cn
    83
    tp8.cs.tsinghua.edu.cn

    这样就有6台机器可供MPI使用 使用这种方式启动时 可执行程序必须放在不同机
    同帐户的相同路径下 比如在tp5.cs.tsinghua.edu.cn上$(HOME)/mpich/examples/basic/下
    mpirun –np 6 cpi
    则需要在{tp1,tp2,tp3,tp4,tp8}上的$(HOME)/mpich/examples/basic/下都有该cpi程序
    如果不使用缺省的配置文件 则需要在命令行给出配置文件 该配置文件的
    mashines.LINUX相同
    比如
    mpirun –machinefile hosts –np 6 cpi
    只需在hosts中给出可使用的机器名字即可
    还有一种更为灵活的配置方式 它允许可执行程序有不同的名字 有不同的路径
    启动方式是
    mpirun –p4pg pgfile cpi
    它的配置文件pgfile的格式如图 38所示
    <机器名>      <进程数>            <程序名>
    <机器名>      <进程数>            <程序名>
    <机器名>      <进程数>            <程序名>
    图 38 配置文件的通用格式
    需要多少机器 就写几行 注意在这种启动格式中 不需要指出启动多少个进程 进
    配置文件指定 一种可能的格式如图 39所示
    tp5   0   /home/pact/mpich/examples/basic/cpi
    tp1   1   /home/pact/mpich/examples/basic/cpi
    tp2   1   /home/pact/mpich/examples/basic/cpi
    tp3   1   /home/pact/mpich/examples/basic/cpi
    tp4   1   /home/pact/mpich/examples/basic/cpi
    tp8   1   /home/pact/mpich/examples/basic/cpi
    图 39 配置文件示例
    注意第一行的0并不表示在tp5上没有进程
    这里0特指在tp5上启动MPI程序的执行
    mpirun是MPI程序的启动脚本 它可以简化作业的启动程序 并且尽可能把不同特征屏蔽掉
    提供给用户一个通用的MPI并行机的概念
    MPI程序的一般启动方式是
    mpirun -np <number of processes> <program name and arguments>
    一般MPI会自动决定使用什么样的设备和什么样的结构
    若MPI无法决定 则可以通过选择开关指定 可用的设备选项有
              chameleon (包括chameleon/pvm, chameleon/p4, ...)
              meiko     (使用meiko设备)
              paragon   (paragon上的ch_nx设备)
              p4        (工作站机群上的ch_p4设备)
              ibmspx    (IBM SP2上的ch_eui)
              anlspx    (ANLs SPx上的ch_eui)
              ksr       (KSR 1和2上的ch_p4)
              sgi_mp    (SGI多处理器上的ch_shmem)
              cray_t3d (Cray T3D上的t3d)
              smp       (SMPs上的ch_shmem)
              execer    (一个定制脚本,目前还不稳定)
    对于MPI无法识别的选项 它将抛弃 完整的MPI运行方式为
    mpirun [mpirun_options...] <progname> [options...]
    在${MPIR_HOME}/util/machines下有对应的
          -arch <architecture> 指明结构信息
    machines.<arch> 文件
          -h 帮助信息
          -machine <machine name> use startup procedure for <machine name>
          -machinefile <machine-file name> 列出可选的机器
          -np <np> 指出运行需要的处理器个数
          -nolocal 不在本地机运行
          -stdin filename 用给定的文件名作为标准输入
    只显示执行的命令 而不实际运行它
          -t 用于测试
          -v 尽可能显示详细的信息
          -dbx 在dbx下启动第一个进程
          -gdb 在gdb下启动第一个进程
          -xxgdb 在xxgdb下启动第一个进程
          -tv 在totalview上启动
    针对NEC - CENJU-3的特殊选项有
          -batch作为批处理作业执行
          -stdout filename 用指定的文件名作为输出
          -stderr filename 用指定的文件名作为标准输出
    针对Nexus设备的特殊选项有
    并且使-np -nolocal无效 自动选
          -nexuspg filename用给定的文件作为配置文件
    择 -leave_pg
          -nexusdb filename 使用Nexus给定的资源数据库
    针对工作站机群的特殊选项有
          -e 用execer来启动程序
    而不是execer
          -pg 用配置文件来启动一个p4程序
          -leave_pg 运行结束后不删除P4配置文件
          -p4pg filename用指定的进程组配置文件而不是临时创建一个
    使得-np和-nolocal无效 自动选择 -leave_pg
          -tcppg filename使用指定的tcp进程组配置文件而不是临时创建一个使得-np和-
    nolocal无效
    自动选择 -leave_pg
          -p4ssport num 使用p4安全服务程序来启动该程序
    该服务器使用的端口号为
    num 如果num=0 则使用环境变量MPI_P4SSPORT的值 该服务器可以加速进程的启动
    如果设置了MPI_USEP4SSPORT和MPI_P4SSPORT的值 其效果就如同-p4ssport 0
    针对批处理环境的特殊选项
          -mvhome 将可执行程序移到home路径下
          -mvback files 将指定的文件移到当前路径下
          -maxtime min 以分钟为单位的最大运行时间
          -nopoll 不使用查询模式进行通信
          -mem value 每个结点需要的内存
          -cpu time 硬件CPU约束时间
    针对IBM SP2的特殊选项
    -cac name 指定ANL 调度期
    针对Intel Paragon的特殊选项
          -paragontype name 选择递交作业的方式
          -paragonname name 指定运行作业的远程shells的名字
          -paragonpn name 在Paragon上运行部分的名字
    异构系统上的运行
    通过指定多个-arch -np 参数对 可以在不同的结构上协同运行一个MPI程序 比如利用
    本地机sun4和另一个机器rs6000同时执行一个程序 在sun4上启动2个进程 在rs6000上启动
    则启动命令为
    3个进程
        mpirun -arch sun4 -np 2 -arch rs6000 -np 3 program
    如果不同机器上的程序名字不同 比如sun4上的程序名字是program.sun4 rs6000上的
    机器名字是program.rs6000 则可以用%a代替机器名
        mpirun -arch sun4 -np 2 -arch rs6000 -np 3 program.%a
    比如分别存放在
    如果执行程序的存放路径也不相同
    /tmp/me/sun4 和 /tmp/me/rs6000下 则启动命令为
    mpirun -arch sun4 -np 2 -arch rs6000 -np 3 /tmp/me/%a/program

    其它可执行命令
    mpiman
    启动MPI的手册帮助程序 它提供两种显示方式 一种是UNIX的man方式 一种是通过
    缺省情况下 mpiman使用xman, 即X窗口系统的手册帮助浏览器来阅
    Web的HTML格式
    读各个帮助页面 其它的开关选项是
          -xmosaic 指定使用xmosaic Web浏览器
          -mosaic 指定使用mosaic Web浏览器
          -netscape 指定使用netscape Web浏览器
          -xman   指定使用X窗口系统的xman手册浏览器
          -man    指定使用man program (比如mpiman -man MPI_Send)
    mpireconfig

    根据模板文件产生make文件 它可以根据特定MPICH的配置 将模板中的变量替换为
    合适的参数形成所需要的make文件
    命令格式是
    mpireconfig filename
    filename 是将要产生的文件名
    但是相应的filename.in文件必须是已经存在了的

  • 相关阅读:
    vue 3.0 项目搭建移动端 (七) 安装Vant
    vue 3.0 项目搭建移动端 (六) 命名路由同级控制
    vue 3.0 项目搭建移动端 (五) 没有配合webpack的情况下 引入 sass
    vue 3.0 项目搭建移动端 (四) 全局路由拦截 vue-router beforeEach
    移动端触屏滑动touches使用
    滑动时候警告:Unable to preventDefault inside passive event listener
    如何在同一台电脑上使用两个github账户(亲测有效)
    [转]GitHub上优秀的Go开源项目
    Github+HEXO FATAL bad indentation of a mapping entry at line 84
    eclipse在线安装jd反编译插件
  • 原文地址:https://www.cnblogs.com/guosj/p/3944120.html
Copyright © 2020-2023  润新知