HCCL Test【免费下载链接】oam-tools本项目为开发者提供故障定位工具包含故障信息收集软硬件信息展示AI core error报错分析等能力提升故障问题定位效率文档可在昇腾社区搜索“故障处理简介”选择社区版。项目地址: https://gitcode.com/cann/oam-toolsHCCL Test提供HCCL通信性能与正确性测试环境准备安装CANN Toolkit包运行HCCL Test工具依赖CANN Toolkit开发套件包和CANN算子包请根据操作系统架构下载对应版本的CANN软件包参考昇腾文档中心-CANN软件安装指南进行安装。设置CANN软件环境变量# 默认路径root用户安装 source /usr/local/Ascend/cann/set_env.sh # 默认路径非root用户安装 source $HOME/Ascend/cann/set_env.sh安装并配置MPI环境变量MPI的安装请参见HCCL性能测试工具用户指南的MPI安装与配置章节。环境变量配置示例如下export PATH/path/to/mpi/bin:$PATH export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/path/to/mpi/lib多机集群训练时需配置环境变量指定host网卡HCCL_SOCKET_IFNAME# 配置HCCL的初始化root通信网卡名HCCL可通过该网卡名获取Host IP完成通信域创建。 # 支持以下格式配置(4种规格自行选择1种即可) # 精确匹配网卡 export HCCL_SOCKET_IFNAMEeth0,enp0 # 使用指定的eth0或enp0网卡 export HCCL_SOCKET_IFNAME^eth0,enp0 # 不使用eth0与enp0网卡 # 模糊匹配网卡 export HCCL_SOCKET_IFNAMEeth,enp # 使用所有以eth或enp为前缀的网卡 export HCCL_SOCKET_IFNAME^eth,enp # 不使用任何以eth或enp为前缀的网卡注网卡名仅为举例说明并不只对eth,enp网卡生效多机集群训练时需统计所有节点使用的host网卡信息编辑hostfile文件vim hostfile将全部参与训练的节点信息写入hostfile文件格式如下# 全部参与训练的节点ip:每节点的进程数 192.168.1.1:8 192.168.1.2:8 ...构建构建HCCL Test其中MPI_HOME为MPI安装路径ASCEND_DIR为CANN Toolkit开发套件包的安装路径。make MPI_HOME/path/to/mpi ASCEND_DIR${ASCEND_HOME_PATH}执行单节点运行mpirun -n 8 ./bin/all_reduce_test -b 8K -e 64M -f 2 -d fp32 -o sum -p 8多节点运行两节点为例mpirun -f hostfile -n 16 ./bin/all_reduce_test -b 8K -e 64M -f 2 -d fp32 -o sum -p 8参数所有测试都支持相同的参数集NPU数量[-p,--npus npus used for one node]每个计算节点上参与训练的npu个数默认值当前节点的npu总数数据量-b,--minbytes min size in bytes数据量起始值默认值64M-e,--maxbytes max size in bytes数据量结束值默认值64M数据增量通过增量步长或乘法因子参数设置-i,--stepbytes increment size增量步长默认值(max-min)/10注当输入增量步长-i为0时会持续对数据量起始值-b进行测试。-f,--stepfactor increment factor乘法因子默认值不开启HCCL操作参数-o,--op sum/prod/max/min集合通信操作归约类型默认值sum-r,--root rootroot节点broadcast,reduce和scatter操作生效默认值0-d,--datatype int8/int16/int32/fp16/fp32/int64/uint64/uint8/uint16/uint32/fp64数据类型默认值fp32即float32-z,--zero_copy 0/1开启0拷贝allgather, reduce_scatter, broadcast, allreduce操作符合约束条件生效默认值0-m,--symmetric_memory 0/1开启对称内存allgather, reduce_scatter, allreduce操作符合约束条件生效默认值0 注不支持零拷贝和对称内存同时开启。性能-n,--iters iteration count迭代次数默认值20-w,--warmup_iters warmup iteration count预热迭代次数不参与性能统计仅影响HCCL Test执行耗时默认值10-t,--onlydevicetime 0/1将通信算子host侧软件耗时与kernel加载耗时排除在通信执行耗时之外只统计device执行时间影响HCCL TEST执行耗时默认值0 注 1、当启动 -t 参数时-w-n参数配置不大于100轮次 2、当启动 -t 参数时不支持aicpu_ts模式 3、当启动 -t 参数时并且HCCL_BUFFSIZE配置小于等于100MB时-t 参数不生效结果校验-c,--check 0/1校验集合通信操作结果正确性大规模集群场景下开启结果校验会使HCCL Test执行耗时增加默认值1开启执行示例allreduce# 单节点8个NPU mpirun -n 8 ./bin/all_reduce_test -b 8K -e 64M -f 2 -p 8# 双节点16个NPU mpirun -f hostfile -n 16 ./bin/all_reduce_test -b 8K -e 64M -f 2 -p 8broadcast# 单节点8个NPU mpirun -n 8 ./bin/broadcast_test -b 8K -e 64M -f 2 -p 8 -r 1# 双节点16个NPU mpirun -f hostfile -n 16 ./bin/broadcast_test -b 8K -e 64M -f 2 -p 8 -r 1allgather# 单节点8个NPU mpirun -n 8 ./bin/all_gather_test -b 8K -e 64M -f 2 -p 8# 双节点16个NPU mpirun -f hostfile -n 16 ./bin/all_gather_test -b 8K -e 64M -f 2 -p 8alltoallv# 单节点8个NPU mpirun -n 8 ./bin/alltoallv_test -b 8K -e 64M -f 2 -p 8# 双节点16个NPU mpirun -f hostfile -n 16 ./bin/alltoallv_test -b 8K -e 64M -f 2 -p 8alltoall# 单节点8个NPU mpirun -n 8 ./bin/alltoall_test -b 8K -e 64M -f 2 -p 8# 双节点16个NPU mpirun -f hostfile -n 16 ./bin/alltoall_test -b 8K -e 64M -f 2 -p 8reducescatter# 单节点8个NPU mpirun -n 8 ./bin/reduce_scatter_test -b 8K -e 64M -f 2 -p 8# 双节点16个NPU mpirun -f hostfile -n 16 ./bin/reduce_scatter_test -b 8K -e 64M -f 2 -p 8reduce# 单节点8个NPU mpirun -n 8 ./bin/reduce_test -b 8K -e 64M -f 2 -p 8 -r 1# 双节点16个NPU mpirun -f hostfile -n 16 ./bin/reduce_test -b 8K -e 64M -f 2 -p 8 -r 1指定deviceId执行用例执行HCCL Test工具前开启如下环境变量即可指定需要启动的device。需要在当前计算节点的hccl_test目录下创建一个可执行文件例run.sh。单server场景启动4567卡创建可执行文件run.sh文件内容如下#HCCL_TEST_USE_DEVS后的数字为需要启动的deviceId export HCCL_TEST_USE_DEVS4,5,6,7 $1用例执行mpirun -n 4 ./run.sh ./all_reduce_test -b 8K -e 64M -f 2 -p 4多server场景计算节点1启动0123卡计算节点2启动4567卡计算节点1创建可执行文件run.sh文件内容如下export HCCL_TEST_USE_DEVS0,1,2,3 $1计算节点2创建可执行文件run.sh文件内容如下export HCCL_TEST_USE_DEVS4,5,6,7 $1用例执行mpirun -n 8 -f hostfile ./run.sh ./all_reduce_test -b 8K -e 64M -f 2 -p 4开启性能数据采集执行HCCL Test工具前设置如下环境变量即可开启性能数据采集功能。# “1”代表开启profiling“0”代表关闭profiling默认值为“0”开启时执行HCCL Test时采集性能数据 export HCCL_TEST_PROFILING1 # 指定profiling数据存放路径默认为“/var/log/npu/profiling” export HCCL_TEST_PROFILING_PATH/home/profilingHCCL Test工具执行完成后会在HCCL_TEST_PROFILING_PATH指定目录下生成profiling数据。【免费下载链接】oam-tools本项目为开发者提供故障定位工具包含故障信息收集软硬件信息展示AI core error报错分析等能力提升故障问题定位效率文档可在昇腾社区搜索“故障处理简介”选择社区版。项目地址: https://gitcode.com/cann/oam-tools创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考