mindspore.ops.AlltoAllV ======================= .. image:: https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source.svg :target: https://gitee.com/mindspore/mindspore/blob/master/docs/api/api_python/ops/mindspore.ops.AlltoAllV.rst :alt: 查看源文件 .. py:class:: mindspore.ops.AlltoAllV(group=GlobalComm.WORLD_COMM_GROUP, block_size=1) 相对AlltoAll来说,AlltoAllV算子支持不等分的切分和聚合。 .. note:: 只支持一维的输入,使用该接口前需要将输入数据展开成一维。 参数: - **group** (str,可选) - AlltoAll的通信域。默认值: ``GlobalComm.WORLD_COMM_GROUP`` ,Ascend平台表示为 ``"hccl_world_group"`` 。 - **block_size** (int,可选) - 通过 `send_numel_list` 和 `recv_numel_list` 切分和聚合数据量的基本单位。默认值: ``1`` 。 输入: - **input_x** (Tensor) - 一维待分发的张量, shape为 :math:`(x_1)`。 - **send_numel_list** (Union[tuple[int], list[int], Tensor]) - 分发给每张卡的数据量。实际分发数据量为 :math:`(send\_numel\_list * block\_size * input\_x.dtype)` 。 - **recv_numel_list** (Union[tuple[int], list[int], Tensor]) - 从每张卡聚合的数据量。实际聚合数据量为 :math:`(send\_numel\_list * block\_size * input\_x.dtype)` 。 输出: Tensor,从每张卡上聚合的一维数据结果。如果结果为空,则返回空张量,且张量数值无意义。 样例: .. note:: .. include:: mindspore.ops.comm_note.txt 该样例需要在2卡环境下运行。 教程样例: - `分布式集合通信原语 - AlltoAllV <https://www.mindspore.cn/docs/zh-CN/master/api_python/samples/ops/communicate_ops.html#alltoallv>`_