accl_perf是ACCL提供的简易集合操作测试工具,便于进行基础的性能测试或问题验证。其使用方法与PyTorch相近,需指定“主”IP地址与端口,以及每个进程的Rank号、使用的设备数目、Rank总数等。本文为您介绍如何使用ACCL测试工具。
ACCL测试工具使用方法
下文以手动运行2机16卡的ACCL AllReduce测试为例,假设:
对测试的进一步控制选项包括:
- 两节点分别为节点A与节点B,每个节点配备8个GPU设备。
- 令节点A作为“主”节点,使用的管理网络IP地址为10.18.18.18,4221是该节点的可用空闲端口。
accl_perf --masterId 10.18.18.18:4221 --nranks 2 --rank 0 --device 0 --ngpus 8 -lAllReduce
于节点B运行:accl_perf --masterId 10.18.18.18:4221 --nranks 2 --rank 1 --device 0 --ngpus 8 -lAllReduce
相关选项说明如下:选项名称 | 选项说明 |
---|---|
--masterId | 由“主”节点的IP地址(暂不支持主机名的方式)与端口组成,所有节点必须使用相同的“Master ID” |
--nranks 2 --rank ? | 结合本例,节点Rank总数为2,节点A分配的Rank号为0,节点B为1 |
--device 0 --ngpus 8 | 本例中指使用自0号GPU设备起的8个设备 |
-l <collective type> | 指定需测试的集合操作,如AllReduce、AllToAllV等。 |
选项名称 | 选项说明 |
---|---|
-i <iteration number> | 指定用于计时的迭代次数 |
-o <reduce type> | 指定AllReduce的规约计算类型,默认为sum,支持:
|
-t <data type> | 指定数据类型,默认为float32,支持:
|
--absmode | 该选项需与--mincnt=<min> --maxcnt=<max> --cnt_stride=<stride>组合使用,其含义为从mincnt个元素数目开始测试至max元素数目,其间每步递增stride个元素数目 |
--minlogcnt=<min> | 与--maxlogcnt=<max>组合使用,即从2min数目的元素到2max数目的元素进行测试 |