鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

指定算法说明

关于MPI_Allreduce指定算法的说明

  • 在选用算法3、6、8时,需保证进程数在socket上平均分布(Socket-aware类算法不支持socket间进程数不均衡),需要加上以下选项,命令如下:

    --map-by-socket --rank-by-core

  • 在选用算法5、6时,因节点内为K-nomial算法,需要引入调节K-nomial tree结构的K值参数,示例命令如下:

    -x UCX_BUILTIN_DEGREE_INTRA_FANOUT=3

    -x UCX_BUILTIN_DEGREE_INTRA_FANIN=8

  • 在选用算法7、8时,因节点内与节点间都采用K-nomial算法,需要引入调节K-nomial tree结构的K值参数,示例命令如下:

    -x UCX_BUILTIN_DEGREE_INTER_FANOUT=7 -x UCX_BUILTIN_DEGREE_INTER_FANIN=7

    -x UCX_BUILTIN_DEGREE_INTRA_FANOUT=3 -x UCX_BUILTIN_DEGREE_INTRA_FANIN=8

为提高性能,也可加入以下选项:

--bind-to core -x UCX_TLS=sm,rc_x

关于MPI_Bcast指定算法的说明

  • 在选用算法3时,因为节点间K-nomial算法,需要加上调节K值的参数,命令示例如下:

    -x UCX_BUILTIN_DEGREE_INTER_FANOUT=7

  • 在选用算法4时,因为节点内与节点间都采用了K-nomial算法,需要加上两个调节K值的参数,命令示例如下:

    -x UCX_BUILTIN_DEGREE_INTER_FANOUT=7

    -x UCX_BUILTIN_DEGREE_INTRA_FANOUT=3

为提高性能,也可加入以下选项:

--bind-to core –x UCX_TLS=sm,rc_x

综上,在调用MPI_Bcast时,推荐选用算法3,其中K值需根据具体的节点及ppn数目调节,运行命令示例如下(鲲鹏芯片):

mpirun -np 16 -N 2 --hostfile hf --mca btl ^vader,tcp,openib --bind-to core -x UCX_TLS=sm,rc_x -x UCX_BUILTIN_BCAST_ALGORITHM=3 -x UCX_BUILTIN_DEGREE_INTER_FANOUT=7 test_case

关于MPI_Barrier指定算法的说明

表3可知,Barrier的算法是Allreduce算法的子集,因此可参考MPI_Allreduce指定算法说明部分,此处不再赘述。