CANN软件包当前已提供HCCL性能测试工具,CANN与依赖软件安装与使用可参见《HCCL性能测试工具使用指南》,此处仅介绍PyTorch侧的工具使用方法。
AscendPyTorch对此工具进行了整合,简化了安装编译流程,提高工具使用效率。分布式训练场景下,开发者可以通过此工具测试HCCL集合通信的功能正确性以及性能。用户可通过运行torch_npu/utils/collect_hccl_info.py脚本,编译并运行基于通信算子的功能与性能测试。
python torch_npu/utils/collect_hccl_info.py
可选参数 |
参数说明 |
---|---|
--file |
Hostfile节点列表文件。
多机场景文件示例如下:
|
-n |
需要启动的NPU总数。 |
-t |
执行测试用例类型。可选: all_gather_test,all_reduce_test,alltoallv_test,alltoall_test,broadcast_test,reduce_scatter_test,reduce_test。 |
-p |
单个计算节点上参与训练的NPU个数。默认为当前节点的NPU总数。 |
-b |
定义执行集合通信操作所使用的测试数据大小。
说明:
|
-e |
|
-i |
|
-f |
|
-o |
Reduce相关执行命令的操作类型,包含:sum、prod、max、min,默认值为sum。 |
-r |
执行命令为“broadcast”、“reducescatter”时,需要通过此参数指定根节点。默认值为:0。 |
-d |
HCCL执行命令支持的数据类型。支持的数据类型包括:int8/int16/int/fp16/fp32/int64/uint64/uint8/uint16/uint32/fp64/bfp16。默认值为fp32。 |
-n |
迭代次数,默认值为20。 |
-w |
预热迭代次数,此参数不参与性能统计,仅影响HCCL Test工具的执行耗时,默认值:5。
说明:
由于前几轮迭代可能存在影响性能测试的操作(例如,首轮迭代的socket建链操作等),建议将前几轮迭代设置为预热迭代,不进入性能统计。 |
-c |
是否开启集合通信操作结果正确性校验,默认值:1。
|
-multinode |
|