运行Alltoallv算法2(node-aware plummer)报错如下:
1 | Alltoallv node-aware plummer gatherv phase don't support displs >= 2^31 bytes |
算法不支持节点内所有进程sendcounts总和超过2^31的场景,详见场景十五:Alltoallv集合操作节点内所有进程sendcounts总和超过2^31。
例如,运行osu应用时,进程数为128,节点数为2,每节点64进程,节点内所有进程sendcounts总和为128*64*count(count为每个sendcounts的值,即发送数据个数,osu中所有sendcounts都相同),当count到达256K时,sendcounts总和为2G,超过2^31,此场景会报出错误日志并退出作业。
sendcounts不能超过Alltoallv算法2的限制,或者改用Alltoallv算法1(Ladd)。