EN
注册

使用示例

工具可同多瑙调度器一起使用,详情请见HPC命令行工具协同多瑙调度器使用

hpccollector使用示例

使用hpccollector工具下发任务分为单任务、多任务和指定任务三种模式,每次运行分为:环境检查、参数检查,任务运行,打包汇报结果,结束任务等阶段。

  • 单任务下发模式

    单任务模式通过命令行参数指定单个任务的详细参数,任务运行结束,会在安装目录(INSTALL_PATH)生成当前命令的taskfile,方便修改复杂参数。

    单任务下发模式下,提供三种任务类型的示例请参见表1,均假设:安装路径为INSTALL_PATH,shared folder路径为/mysharedir,集群mpirun路径为/hpc/mpirun
    表1 单任务模式示例

    任务类型

    说明

    命令

    示例

    statistics任务

    应用统计分析任务,针对应用进程采集统计数据,分析指标包括:hotspots、内存带宽、HPC Top-Down、MPI运行时指标、原始PMU事件、计数指标,根据采集结果提供优化建议。

    /INSTALL_PATH/hpccollector -t statistics [-sf SHARED_FOLDER] -mpirun MPIRUN_COMMAND [-mpi-arg MPIRUN_ARG] -app APPLICATION [-app-arg APPLICATION_ARG] [-mo] [-ss] [-st] [-l PROFILE_LEVEL] [-cp] [-d DURATION_S] [-D DELAY_S] [-u]

    HPC应用的运行命令为:/hpc/mpirun --allow-run-as-root -rf /home/rankfile /hpc/mpi_app -arg

    • 使用工具采集统计分析任务,采集时间200s,采样等级summary,采集不限于mpi指标,不关注子任务时间,不采集系统性能,采集critical path信息,不需要延时采样,则使用命令:

      INSTALL_PATH/hpccollector -t statistics -sf /mysharedir -mpirun /hpc/mpirun -mpi-arg "--allow-run-as-root -rf /home/rankfile" -app /hpc/mpi_app -app-arg "'-arg'" -cp -l summary -d 200

    • 如果需要采样1801秒,则使用命令:

      INSTALL_PATH/hpccollector -t statistics -sf /mysharedir -mpirun /hpc/mpirun -mpi-arg "--allow-run-as-root -rf /home/rankfile" -app /hpc/mpi_app -app-arg "'-arg'" -cp -l summary -d 1801 -u

    • 如果需要采样到结束,则使用命令:

      INSTALL_PATH/hpccollector -t statistics -sf /mysharedir -mpirun /hpc/mpirun -mpi-arg "--allow-run-as-root -rf /home/rankfile" -app /hpc/mpi_app -app-arg "'-arg'" -cp -l summary -u

    meticulous任务

    应用精细化分析,针对应用进程的精细化分析,呈现图表式分析结果,包括:timeline、低效通讯TopN、热力图功能。

    /INSTALL_PATH/hpccollector -t meticulous [-sf SHARED_FOLDER] -mpirun MPIRUN_COMMAND [-mpi-arg MPIRUN_ARG] -app APPLICATION [-app-arg APPLICATION_ARG] [-st] [-pc] [-nt] [-rf RANK_FUZZY] [-d DURATION_S] [-u]

    HPC应用的运行命令为:/hpc/mpirun --allow-run-as-root -rf /home/rankfile /hpc/mpi_app -arg

    使用工具采集精细化分析任务,采集时间200秒,不关注子任务时间,采集PMU指标,不分析低效通讯TopN,则使用命令:

    INSTALL_PATH/hpccollector -t meticulous -sf /mysharedir -mpirun /hpc/mpirun -mpi-arg "--allow-run-as-root -rf /home/rankfile" -app /hpc/mpi_app -app-arg "'-arg'" -pc -nt -d 200

  • 多任务下发模式

    基于单任务模式中的三种任务,增加一键下发多任务方式;在taskfile中定义任务运行的必须参数,使用-tf参数运行任务。定义的多任务将串行方式运行,多个任务结果将在report阶段汇总输出,并将成功的任务压缩为一个压缩包放在package路径下,并汇报路径。

    使用命令:INSTALL_PATH/hpccollector -tf /INSTALL_PATH/task_file.txt

    使用工具模板中的模板,此时系统将依次下发采集系统、统计、精细化分析任务各一个。

  • 指定任务下发模式

    基于task_file定义的任务及任务参数,使用-tf参数同时也可指定task_file中单个任务下发;每个任务会以"# Task 1"类型的编号作为任务唯一标识。

    指定任务时,需要在task_file文件后以“:”作为指定任务的符号,后面加任务id,id为指定任务的标识"# Task 1"中的1;以“# Task 1”为例,使用命令:INSTALL_PATH/hpccollector -tf /INSTALL_PATH/task_file.txt:1;任务将下发task_file中“# Task 1”任务。

  • 任务的停止和取消
    表2 命令的中断形式和效果

    形式

    效果

    中断正在采集的任务进入分析阶段

    将会提前结束采集态的任务,并且基于现有采集到的数据进行数据分析,在任务处于采集阶段时按下Ctrl+Z组合键即可;若在分析阶段时按下此组合键,将不做任何响应,继续原有的分析操作。

    取消正在运行的任务

    在任务结束前按下Ctrl+C组合键会丢弃当前的任务,不管任务处于采集还是分析阶段,任务都将被丢弃。

    Ctrl+Z按下后,终端会显示出类似下面的输出:

    [1]+  Stopped                 ./hpccollector -tf /home/commline_tool/taskfile/lammps.txt

hpcmanager使用示例

hpcmanager为工具程序,可在sever端管理各个节点的任务,对任务执行查询、取消和停止操作,工具参数如表3所示。

  • 查询任务

    使用命令INSTALL_PATH/hpcmanager -q,查询结果如下:

        +--+----------+------------------+---------------+-------------------+-------------------+----------+--------+
        |id|task_type |application       |application_arg|start_time         |end_time           |duration_s|status  |
        +--+----------+------------------+---------------+-------------------+-------------------+----------+--------+
        |1 |system    |-                 |-              |2023-05-17 11:01:36|-                  |300       |Canceled|
        +--+----------+------------------+---------------+-------------------+-------------------+----------+--------+
        |2 |system    |-                 |-              |2023-05-17 11:01:44|2023-05-17 11:01:53|300       |Success |
        +--+----------+------------------+---------------+-------------------+-------------------+----------+--------+
        |3 |system    |-                 |-              |2023-05-17 11:02:11|2023-05-17 11:02:52|300       |Success |
        +--+----------+------------------+---------------+-------------------+-------------------+----------+--------+
        Enter 'id' to query the task details. Use 'q' to exit:

    界面显示所有任务的简单信息,且提供用户交互,输入任务“id”可查询任务详细信息;详细信息查询结果如下:

    [Hyper Tuner MPI 23.0.0]
        [task_file_pattern]
        task_type            = statistics
        mpirun_command       = /opt/FENG/hmpi/bin/mpirun
        mpirun_arg           = --allow-run-as-root -H 1.2.3.4:4
        application          = /opt/testdemo/ring
        application_arg      =
        mpi_only             = 0
        sys_sampling         = 0
        subtask_time         = 1
        profile_level        = summary
        critical_path        = 0
        duration_s           = 300
        delay_s              = 0
        unlimited            = 0
    
        [run_time_info]
        start_time           = 2023-05-17 16:09:32
        end_time             = 2023-05-17 16:09:37
        status               = Success
        package_path         = /home/Hyper-Tuner_linux_HPC-Tools/package/mpitask_20230517-160937.tar
        report_command       =
        runtime_taskfile     = /home/Hyper-Tuner_linux_HPC-Tools/task_file.txt
  • 取消任务

    取消任务即取消正在运行的任务,不管任务处于采集还是分析阶段,任务都将被丢弃。

    因命令行任务仅支持同时只有一个任务在运行,即使用-c参数取消当前正在执行的任务;使用命令如下:INSTALL_PATH/hpcmanager -c

    当前没有正在运行的任务时则提示:“No task is running.”

    任务取消成功后提示:“The task has been canceled.”

  • 停止任务

    停止任务即中断正在采集的任务进入分析阶段,该操作会提前结束采集态的任务,并且基于现有的采集数据进行数据分析,在任务处于采集阶段时使用-a参数;使用命令如下:INSTALL_PATH/hpcmanager -a

    当前没有正在运行的任务时则提示:“No task is running.”

    任务停止并分析成功后提示:“Task 1 Finished.”

check_latency_bandwidth使用示例

使用check_latency_bandwidth工具需先配置cmd-file文件,cmd-file文件详细参数配置如表3所示。

以下示例的执行时间均为24小时,超过此执行时长将抛出异常。

  • 使用stream benchmark时(type参数选择stream),cmd-file文件内容:
    type stream min-core 2 max-core 129 stream-input /home/stream5.10/stream_c.exe
  • 使用osu benchmark时(type参数选择osu),cmd-file文件内容:
    type osu osu-bw /home/osu/osu-micro-benchmarks-7.0.1/c/mpi/pt2pt/osu_bw point-osu-np 2 point-osu-n 1 point-host xx.xx.xx.xx,xx.xx.xx.xx
    mpi-path /home/openmpi-4.1.4-install/bin/mpirun osu-latency /home/Kosu/osu-micro-benchmarks-7.0.1/c/mpi/pt2pt/osu_latency osu-alltoall
     /home/osu/osu-micro-benchmarks-7.0.1/c/mpi/collective/osu_alltoall cluster-osu-np 2 cluster-osu-n 1 cluster-hostfile /home/hostfile
     osu-bcast /home/osu/osu-micro-benchmarks-7.0.1/c/mpi/collective/osu_bcast osu-bcast-other-settings "xxxxxxxxxxx"
  • 使用stream benchmark和osu benchmark时(type参数选择all),cmd-file文件内容:
    type all min-core 2 max-core 129 stream-input /home/stream5.10/stream_c.exe
    type osu osu-bw /home/osu/osu-micro-benchmarks-7.0.1/c/mpi/pt2pt/osu_bw point-osu-np 2 point-osu-n 1 point-host xx.xx.xx.xx,xx.xx.xx.xx
    mpi-path /home/openmpi-4.1.4-install/bin/mpirun osu-latency /home/Kosu/osu-micro-benchmarks-7.0.1/c/mpi/pt2pt/osu_latency osu-alltoall
     /home/osu/osu-micro-benchmarks-7.0.1/c/mpi/collective/osu_alltoall cluster-osu-np 2 cluster-osu-n 1 cluster-hostfile /home/hostfile
     osu-bcast /home/osu/osu-micro-benchmarks-7.0.1/c/mpi/collective/osu_bcast osu-bcast-other-settings "xxxxxxxxxxx"

执行工具采集,使用./check_latency_bandwidth --cmd-file /home/cmd_file.txt --log /home/命令,其中--log参数不设置时默认为工具所在路径。采集结果如图1图3所示。

图1 stream benchmark输出样例
图2 stream benchmark的log文件样例
图3 osu benchmark输出样例
图4 osu benchmark的log文件样例
表3 cmd-file参数配置说明

参数

参数说明

type

配置需采集的类型;必选项,可选all,osu,stream。

min-core

stream benchmark拉起用例的最小的核数。

max-core

stream benchmark拉起用例的最终的核数。

stream-input

stream benchmark用例的路径。

mpi-path

mpirun的路径。

osu-bw

点对点通信带宽测试的用例路径。

osu-latency

点对点通信延时测试的用例路径。

osu-alltoall

集群通信带宽测试的用例路径。

osu-bcast

集群通信延时测试的用例路径。

point-osu-np

点对点通信mpirun的-np参数。

point-osu-n

点对点通信mpirun的-N参数。

cluster-osu-np

集群通信mpirun的-np参数。

cluster-osu-n

集群通信mpirun的-N参数。

point-hostfile

点对点通信hostfile文件路径。

cluster-hostfile

集群通信hostfile文件路径。

point-host

点对点通信中host参数,多个host请用','分隔。

cluster-host

集群通信中host参数,多个host请用','分隔。

osu-bcast-other-settings

osu_bcast用例添加的额外配置,将会直接被添加到命令行中, 请放到双引号里面。

osu-bw-other-settings

osu_bw用例添加的额外配置,将会直接被添加到命令行中, 请放到双引号里面。

osu-latency-other-settings

osu_latency用例添加的额外配置,将会直接被添加到命令行中, 请放到双引号里面。

osu-alltoall-other-setting

osu_alltoall用例添加的额外配置,将会直接被添加到命令行中, 请放到双引号里面。

hpcdld使用示例

hpcdld工具为查询死锁检查工具,便于查找节点是否存在阻塞的情况,工具参数说明如表7所示。

  • 环境变量中python版本须为python3。
  • 推荐使用8.3.1-11.oe1版本的gdb,高版本可能出现不兼容问题。
  • --host指定的node列表的第一个节点IP地址须和-i/--master-ip参数指定的IP地址一致,且-i/--master-ip须为本机IP地址。
  • 运行任务

    多节点运行示例:./hpcdld -mp /home/installed/OPENMPI/bin/mpirun -sf /home/nfs_share_folder_xs --host xx.xx.xx.01:2,xx.xx.xx.02:2 -i xx.xx.xx.01 /home/nfs_share_folder_xs/matrix_multiply_deadlock_ompi

    ------------- Deadlock Detected! -------------
    ranks 0-1,3:
    /home/PerfToolsResearch-hpctool_1_18_0_rc1/hpctool/lib64/python/utest/data/testapps/mpi/matrix_multiply_deadlock.cpp:191
    ranks 2:
    /home/PerfToolsResearch-hpctool_1_18_0_rc1/hpctool/lib64/python/utest/data/testapps/mpi/matrix_multiply_deadlock.cpp:192
    ----------------------------------------------
    
    hpctool <all> :

    当前为交互模式,等待用户选择rank编号,以下为查看rank 2的详细信息。

    hpctool <all> : select 2
    hpctool <2> : bt
    hpctool <2> (gdb) #0  0x0000fffff617a198 in nanosleep () from /lib64/libc.so.6
    hpctool <2> #1  0x0000fffff61a2b98 in usleep () from /lib64/libc.so.6
    hpctool <2> #2  0x0000fffff65ef794 in ompi_mpi_finalize ()
    hpctool <2>    from /opt/soft/openmpi/lib/libmpi.so.40
    hpctool <2> #3  0x0000fffff671b314 in MPI_Finalize ()
    hpctool <2>    from /home/deadlock_tool/Hyper-Tuner_linux_HPC-Tools/malluma/../malluma_lib/lib64/libmpicollector_ompi.so
    hpctool <2> #4  0x0000000000401090 in main (argc=1, argv=0xffffffffe208)
    hpctool <2>     at /home/PerfToolsResearch-hpctool_1_18_0_rc1/hpctool/lib64/python/utest/data/testapps/mpi/matrix_multiply_deadlock.cpp:192

    输入“select 2” ,hpctool后的“<>”内的数字变为2,表示当前为rank 2,再次输入bt(意为backtrace)回车,即看到rank 2的栈信息。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词