参数说明
本节介绍HCCL Test性能测试工具执行时的相关参数说明。
命令格式
- 安装MPICH的场景
mpirun [-f hostfile] [-n number] ./bin/<executable_file> [-p npus] [-b minbytes] [-e maxbytes] [-f stepfactor] [-o operator] [-r root] [-d datatype] [-n iters] [-w warmup_iters] [-c <0/1>]
- 安装Open MPI的场景
mpirun [-hostfile hostfile] [-n number] [-x environment_variable_name] [--allow-run-as-root] [--mca key value] ./bin/<executable_file> [-p npus] [-b minbytes] [-e maxbytes] [-f stepfactor] [-o operator] [-r root] [-d datatype] [-n iters] [-w warmup_iters] [-c <0/1>]
- mpirun后跟随的是MPI命令相关参数。
- ./bin/<executable_file>后跟随的是HCCL Test工具相关参数。
MPICH命令参数
此处仅给出MPICH工具常见参数说明,更多参数介绍可执行“./mpirun --help”命令查看帮助信息。
参数名 |
可选/必选 |
描述 |
---|---|---|
-f |
可选 |
Hostfile节点列表文件。 单机场景下无需配置此文件;多机场景下,需要配置此文件。 配置示例可参见3。 |
-n |
必选 |
需要启动的NPU总数。 |
Open MPI命令参数
此处仅给出Open MPI工具常见参数说明,更多可用参数介绍可参见open-mpi官方文档。
参数名 |
可选/必选 |
描述 |
---|---|---|
-hostfile |
可选 |
指定Hostfile节点列表文件。 单机场景下无需配置此文件;多机场景下,需要配置此文件。 配置示例可参见3。 |
-n |
必选 |
设置需要启动的NPU总数。 |
-x |
必选 |
指定需要传递给远程节点的环境变量名称,环境变量为执行HCCL Test命令前配置的除PATH外的所有环境变量,环境变量的设置可参见工具执行。 开发者可以通过environment_variable_name=value的形式,将环境变量与设置的值一并传递给远程节点。 |
--allow-run-as-root |
可选 |
允许mpirun使用root用户执行。 |
--mca |
可选 |
设置mca参数,openmpi的设计以组件架构(MPI Component Architecture, MCA)为中心,可通过运行时在mpirun命令中设置mca参数来加载openmpi的各类组件模块,实现特定功能。 常用的命令有: |
HCCL Test工具相关参数
参数名 |
可选/必选 |
描述 |
---|---|---|
./bin/<executable_file> |
必选 |
集合通信性能测试工具的执行命令。 其中<executable_file>为集合通信性能测试工具的可执行文件。当前可指定文件有:all_gather_test,all_reduce_test,alltoallv_test,alltoall_test,broadcast_test,reduce_scatter_test,reduce_test,scatter_test。 例如./bin/all_gather_test。 针对Atlas 300I Duo 推理卡,仅支持all_reduce_test与all_gather_test执行命令。 |
集合通信性能测试命令支持的参数 |
||
-p |
必选 |
单个计算节点上参与训练的NPU个数。 默认为当前节点的NPU总数。 说明:集合通信测试工具会按照用户配置的参与训练的NPU个数拉起相应的Device,Device的约束可参见规格约束。 |
-b |
可选 |
定义执行集合通信操作所使用的测试数据大小。
说明:
例如: 假设配置示例为:-b 100M -e 400M -f 2 即测试数据大小起始值为100M,结束值为400M,数据增量乘法因子为2,则每次迭代都会分别取大小为“100M”、“200M”、“400M”的数据进行测试。 |
-e |
可选 |
|
-i |
可选 |
|
-f |
可选 |
|
集合通信操作参数 |
||
-o |
可选 |
Reduce相关执行命令的操作类型,包含:sum、prod、max、min,默认值为sum。 Reduce相关的执行命令有:all_reduce_test、reduce_scatter_test、reduce_test。 |
-r |
可选 |
执行命令为broadcast_test、reduce_test、scatter_test时,需要通过此参数指定根节点的Device ID。 取值范围:[0,实际Device数量-1]。 默认值为:0。 |
-d |
可选 |
HCCL执行命令支持的数据类型,默认值为fp32。
|
性能测试参数 |
||
-n |
可选 |
迭代次数,默认值为20。 |
-w |
可选 |
预热迭代次数,此参数不参与性能统计,仅影响HCCL Test工具的执行耗时,默认值:5。 说明:由于前几轮迭代可能存在影响性能测试的操作(例如,首轮迭代的socket建链操作等),建议将前几轮迭代设置为预热迭代,不进入性能统计。 |
结果校验参数 |
||
-c |
可选 |
是否开启集合通信操作结果正确性校验。
默认值:1。 说明:大规模集群场景下,开启结果校验会使HCCL Test工具的执行耗时增加。 |