# 算子级并行使用约束

[![查看源文件](https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source.svg)](https://gitee.com/mindspore/docs/blob/master/docs/mindspore/source_zh_cn/api_python/operator_list_parallel.md)

| 操作名                                                       | 约束                                                         | Layout配置约束                                                         |
| :----------------------------------------------------------- | :----------------------------------------------------------- | :----------------------------------------------------------- |
| [mindspore.ops.Abs](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Abs.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.ACos](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ACos.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Acosh](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Acosh.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Add](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Add.html) | 无                                                           | 支持配置Layout,输入的Layout 需要相同或能广播,不支持配置输出的Layout                                                          |
| [mindspore.ops.AddN](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.AddN.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.ApproximateEqual](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ApproximateEqual.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.ArgMaxWithValue](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ArgMaxWithValue.html) | 输入在轴(axis)的维度进行切分时,分布式结果可能会和单机不一致 | 不支持配置Layout                                                          |
| [mindspore.ops.ArgMinWithValue](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ArgMinWithValue.html) | 输入在轴(axis)的维度进行切分时,分布式结果可能会和单机不一致 | 不支持配置Layout                                                          |
| [mindspore.ops.Asin](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Asin.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Asinh](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Asinh.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Assign](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Assign.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.AssignAdd](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.AssignAdd.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.AssignSub](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.AssignSub.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Atan](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Atan.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Atan2](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Atan2.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Atanh](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Atanh.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.AvgPool](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.AvgPool.html) | 1. 数据格式只支持‘NCHW’;<br />2. 输出的H/W维的shape必须能被输入的H/W维的切分策略整除;<br />3. 如果切分H/W:<br />     1)当kernel_size <= stride时,输入切片大小需能被stride整除;<br />     2)不支持kernel_size > stride;<br />4. 在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.AvgPool3D](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.AvgPool3D.html) | 1. 数据格式只支持‘NCDHW’;<br />2. 如果涉及相邻节点数据交换,只支持Ascend;<br />3. W维不支持切分;<br />4. 输出的D/H维的shape必须能被输入的D/H维的切分策略整除;<br />5. valid模式下:如果切分D/H:<br />     1)当kernel_size <= stride时,输入切片大小需能被stride整除;<br />     2)不支持kernel_size > stride;<br />6. same/pad模式下:如果切分D/H:<br />     1)kernel_size >= stride时,(包含pad的输入总长度 - kernel_size)需能被stride整除;kernel_size < stride时,pad需等于0且分片能被stride整除;<br />     2)(输出总长度*stride - 输入总长度)需能被切分策略整除;<br />     3)相邻卡间发送接收的数据长度需大于等于0且小于等于切片大小;<br />7.  在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.BatchMatMul](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.BatchMatMul.html) | 无                                                      | 不支持配置Layout                                                          |
| [mindspore.ops.BatchNorm](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.BatchNorm.html) | 不支持GPU                                                    | 不支持配置Layout                                                          |
| [mindspore.ops.BesselI0e](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.BesselI0e.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.BesselI1e](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.BesselI1e.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.BiasAdd](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.BiasAdd.html) | 无                                                           | 支持配置Layout,输入参数bias的Layout需要和input_x的最后一维度相同,不支持配置输出的Layout                                                          |
| [mindspore.ops.BitwiseAnd](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.BitwiseAnd.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.BitwiseOr](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.BitwiseOr.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.BitwiseXor](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.BitwiseXor.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.BoundingBoxEncode](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.BoundingBoxEncode.html) | 1. 支持对输入(anchor_box)和输入(groundtruth_box)的第一维进行切分; <br /> 2. 输入(anchor_box)和输入(groundtruth_box)的切分策略必须一致 | 不支持配置Layout                                                          |
| [mindspore.ops.BroadcastTo](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.BroadcastTo.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Cast](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Cast.html) | Auto Parallel和Semi Auto Parallel模式下,配置策略不生效      | 不支持配置Layout                                                          |
| [mindspore.ops.Cdist](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Cdist.html) | 1. 当两输入都含有Batch维时,这一维的切分策略必须相等;<br /> 2.`M`维度不支持切分 | 不支持配置Layout                                                          |
| [mindspore.ops.Ceil](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Ceil.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Concat](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Concat.html) | 输入(input_x)在轴(axis)所对应的维度不能切分,切分后,在数学逻辑上和单机不等价 | 不支持配置Layout                                                          |
| [mindspore.ops.Conv2D](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Conv2D.html) | 1. 数据格式只支持‘NCHW’;<br />2. 如果涉及相邻节点数据交换,只支持Ascend;<br />3. 当group的值不为1时,不支持切分C-in/C-out;<br />4. weight的后两维不支持切分;<br />5. 输出的H/W维的shape必须能被输入的H/W维的切分策略整除;<br />6. valid模式下:如果切分H/W:<br />     1)当kernel_size <= stride时其中(kernel_size=dilation *(kernel_size - 1) + 1,下同),输入切片大小需能被stride整除;<br />     2)不支持kernel_size > stride;<br />7. same/pad模式下:如果切分H/W:<br />     1)kernel_size >= stride时,(包含pad的输入总长度 - kernel_size)需能被stride整除;kernel_size < stride时,pad需等于0且分片能被stride整除;<br />     2)( 输出总长度*stride - 输入总长度)需能被切分策略整除;<br />     3)相邻卡间发送接收的数据长度需大于等于0且小于等于切片大小; | 不支持配置Layout                                                          |
| [mindspore.ops.Conv3D](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Conv3D.html) | 1. 数据格式只支持‘NCDHW’;<br />2. 如果涉及相邻节点数据交换,只支持Ascend;<br />3. 当group的值不为1时,不支持切分C-in/C-out;<br />4. W维不支持切分,weight的后三维不支持切分;<br />5. 输出的D/H维的shape必须能被输入的D/H维的切分策略整除;<br />6. valid模式下:如果切分D/H:<br />     1)当kernel_size <= stride时(kernel_size=dilation *(kernel_size - 1) + 1,下同),输入切片大小需能被stride整除;<br />     2)不支持kernel_size > stride;<br />7. same/pad模式下:如果切分D/H:<br />     1)kernel_size >= stride时,(包含pad的输入总长度 - kernel_size)需能被stride整除;kernel_size < stride时,pad需等于0且分片能被stride整除;<br />     2)( 输出总长度*stride - 输入总长度)需能被切分策略整除;<br />     3)相邻卡间发送接收的数据长度需大于等于0且小于等于切片大小;<br />8.  在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.Cos](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Cos.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Cosh](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Cosh.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.CropAndResize](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.CropAndResize.html) | 1. 不支持对输入(x)的H/W维和输入(boxes)的第二维进行切分;<br /> 2. 输入(boxes)和输入(box_index)第一维的切分策略必须一致 | 不支持配置Layout                                                          |
| [mindspore.ops.CumProd](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.CumProd.html) | 不支持`axis维`切分                                           | 不支持配置Layout                                                          |
| [mindspore.ops.CumSum](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.CumSum.html) | 不支持`axis维`切分                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Div](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Div.html) | 无                                                           | 支持配置Layout,输入的Layout 需要相同或能广播,不支持配置输出的Layout                                                          |
| [mindspore.ops.DivNoNan](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.DivNoNan.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Dropout](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Dropout.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Elu](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Elu.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.embedding](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.embedding.html) | 1. padding_idx、max_norm、norm_type和scale_gradid_by_freq仅支持默认值;<br /> 2. 第一个输入不支持切分;<br /> 3. 第二个输入不支持切不满的情况。                                                     | 支持配置Layout                                                          |
| [mindspore.ops.EmbeddingLookup](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.EmbeddingLookup.html) | 同Gather                                                     | 不支持配置Layout                                                          |
| [mindspore.ops.Equal](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Equal.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Erf](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Erf.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Erfc](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Erfc.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Erfinv](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Erfinv.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Exp](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Exp.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.ExpandDims](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ExpandDims.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Expm1](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Expm1.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Floor](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Floor.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.FloorDiv](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.FloorDiv.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.FloorMod](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.FloorMod.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Gamma](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Gamma.html) | 1. `shape`为tuple,但可以对`shape`进行切分,如shape=(8, 16),对应的策略可以为(2, 4); <br /> 2. `alpha`和`beta`对应的策略必须为全1; <br /> 3. 当`shape`切分策略不为全1时,结果和单卡不一致 | 不支持配置Layout                                                          |
| [mindspore.ops.Gather](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Gather.html) | 1. batch_dims > 0时:<br />1)input_params的axis维度不支持切分;<br />2)不支持非均匀切分;<br />2. batch_dims = 0时:<br />1)均匀切分时:<br />a)如果input_params的axis维度不切分,则其他维度可以任意切分;<br />b)input_params的axis维度切分时:input_params只支持1维和2维,input_indices不支持标量,不支持input_indices和input_params同时进行切分;axis=0且参数在轴(axis)所在维度切分时,支持配置输出切分策略,合法的输出切分策略为(indices_strategy, param_strategy[1:]) 或 ((indices_strategy[0]*param_strategy[0], indices_strategy[1:]), param_strategy[1:])<br />2)非均匀切分时:<br />a)axis仅支持为0;<br />b)非均匀切分仅表示对input_params的第零维非均匀切分;<br />c)对input_params第零维的切分份数要等于对input_indices最后一维的切分份数;<br />d)input_params的每个维度都能切分,但input_indices只能切分最后一维,且不支持重复计算;<br />e)input_indices需满足:后一个切片的Tensor值需大于前一个分片的Tensor值。 | 不支持配置Layout                                                          |
| [mindspore.ops.GatherD](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.GatherD.html) | dim所对应的维度不能切分;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.GatherNd](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.GatherNd.html) | 第一个输入不能切分,第二个输入的最后一维不能切分;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.GeLU](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.GeLU.html) | 无                                                           | 支持配置输入的Layout,不支持配置输出的Layout                                                          |
| [mindspore.ops.Greater](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Greater.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.GreaterEqual](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.GreaterEqual.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.HShrink](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.HShrink.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.HSigmoid](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.HSigmoid.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.InplaceAdd](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.InplaceAdd.html) | 不支持对`x`和`input_v`的第一维切分                           | 不支持配置Layout                                                          |
| [mindspore.ops.InplaceSub](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.InplaceSub.html) | 同InplaceAdd                                                 | 不支持配置Layout                                                          |
| [mindspore.ops.InplaceUpdate](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.InplaceUpdate.html) | 同InplaceAdd                                                 | 不支持配置Layout                                                          |
| [mindspore.ops.Inv](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Inv.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.IOU](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.IOU.html) | 支持对`anchor_boxes`和`gt_boxes`的第一维切分                 | 不支持配置Layout                                                          |
| [mindspore.ops.IsFinite](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.IsFinite.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.KLDivLoss](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.KLDivLoss.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.LayerNorm](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.LayerNorm.html) | 第二个输入gamma以及第三个输入beta的切分策略需要等于input_x_strategy[begin_params_axis:],input_x_strategy是第一个输入的切分策略     | 支持配置Layout。第二个输入gamma以及第三个输入beta的Layout配置需要等于input_x_layout_tuple[begin_params_axis:],input_x_layout_tuple是第一个输入的layout配置   |
| [mindspore.ops.L2Loss](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.L2Loss.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.L2Normalize](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.L2Normalize.html) | 输入(input_x)在轴(axis)对应的维度不能切,切分后,在数学逻辑上和单机不等价 | 不支持配置Layout                                                          |
| [mindspore.ops.Lerp](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Lerp.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Less](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Less.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.LessEqual](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.LessEqual.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.LinSpace](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.LinSpace.html) | 不需要为`start`和`end`配置策略,只需要传入一个长度为1的策略,其数值能整除`num` | 不支持配置Layout                                                          |
| [mindspore.ops.LogicalAnd](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.LogicalAnd.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.LogicalNot](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.LogicalNot.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.LogicalOr](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.LogicalOr.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Log](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Log.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Log1p](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Log1p.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.LogSoftmax](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.LogSoftmax.html) | 输入(logits)在轴(axis)对应的维度不可切分,切分后,在数学逻辑上和单机不等价 | 不支持配置Layout                                                          |
| [mindspore.ops.MaskedFill](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.MaskedFill.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.MatMul](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.MatMul.html) | 1. 当`transpose_b=True`时,输入的切分策略需是 ((A, B), (C, B)) 的形式<br />2. 当`transpose_b=False`时,输入的切分策略需是 ((A, B), (B, C)) 的形式;<br />3. 支持设置输出切分策略,合法的输出切分策略为 ((A, C),) 或 ((A * B, C),) 。 | 支持配置Layout。<br /> 1. 当`transpose_b=True`时,输入的Layout配置需是 (layout(A, B), layout(C, B)) 的形式,其中A/B/C可以是设备别名或者是设备别名元组<br />2. 当`transpose_b=False`时,输入的layout配置需是 (layout(A, B), layout(B, C)) 的形式,其中A/B/C可以是设备别名或者是设备别名元组;<br />3. 支持配置输出Layout,合法的输出Layout为 (layout(A, C),) 或 (layout((A, B), C),),这里A/B/C均为设备别名;如若A是别名元组(A1, A2),则合法的输出Layout为 (layout((A1, A2), C),) 或 (layout((A1, A2, B), C),) <br />4. 切分策略中,若A/B/C为设备别名,A/B/C应互不相同;若A/B/C中存在设备别名元组,则元组中的每个子项也应该与其余子项或其他设备别名互不相同。                                                         |
| [mindspore.ops.Maximum](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Maximum.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.MaxPool](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.MaxPool.html) | 1. 数据格式只支持‘NCHW’;<br />2. 输出的H/W维的shape必须能被输入的H/W维的切分策略整除;<br />3. 如果切分H/W:<br />     1)当kernel_size <= stride时,输入切片大小需能被stride整除;<br />     2)不支持kernel_size > stride;<br />4. 在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.MaxPool3D](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.MaxPool3D.html) | 同AvgPool3D                                                  | 不支持配置Layout                                                          |
| [mindspore.ops.Minimum](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Minimum.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Mish](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Mish.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Mod](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Mod.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Mul](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Mul.html) | 无                                                           | 支持配置Layout,输入的Layout 需要相同或能广播,不支持配置输出的Layout                                                          |
| [mindspore.ops.MulNoNan](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.MulNoNan.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Neg](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Neg.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.NotEqual](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.NotEqual.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.OneHot](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.OneHot.html) | 仅支持输入(indices)是一维的Tensor,切分策略要配置输出的切分策略,以及第1和第2个输入的切分策略 | 不支持配置Layout                                                          |
| [mindspore.ops.OnesLike](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.OnesLike.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Pow](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Pow.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.PReLU](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.PReLU.html) | weight的shape在非[1]的情况下,输入(input_x)的Channel维要和weight的切分方式一致 | 不支持配置Layout                                                          |
| [mindspore.ops.RandomChoiceWithMask](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.RandomChoiceWithMask.html) | 不支持切分,仅支持全1策略                                    | 不支持配置Layout                                                          |
| [mindspore.ops.RealDiv](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.RealDiv.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Reciprocal](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Reciprocal.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.ReduceMax](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ReduceMax.html) | 输入在轴(axis)的维度进行切分时,分布式结果可能会和单机不一致 | 不支持配置Layout                                                          |
| [mindspore.ops.ReduceMin](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ReduceMin.html) | 输入在轴(axis)的维度进行切分时,分布式结果可能会和单机不一致 | 不支持配置Layout                                                          |
| [mindspore.ops.ReduceSum](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ReduceSum.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.ReduceMean](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ReduceMean.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.ReLU](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ReLU.html) | 无                                                           | 支持配置输入的Layout,不支持配置输出的Layout                                                          |
| [mindspore.ops.ReLU6](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ReLU6.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Reshape](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Reshape.html) | 不支持配置切分策略,并且,在自动并行模式下,当reshape API后接有多个API,不允许对这些API配置不同的切分策略 | 不支持配置Layout                                                          |
| [mindspore.ops.ResizeNearestNeighbor](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ResizeNearestNeighbor.html) | 在`align_corners=True`时只支持切分第一维和第二维。           | 不支持配置Layout                                                          |
| [mindspore.ops.Rint](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Rint.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.ROIAlign](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ROIAlign.html) | 不支持对输入(features)的H/W维和输入(rois)的第二维进行切分 | 不支持配置Layout                                                          |
| [mindspore.ops.Round](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Round.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Rsqrt](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Rsqrt.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.ScatterAdd](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ScatterAdd.html) | 第二个输入不能切分,第三个输入的前n维(n为第二个输入的维度)不能切分;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.ScatterDiv](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ScatterDiv.html) | 第二个输入不能切分,第三个输入的前n维(n为第二个输入的维度)不能切分;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.ScatterMax](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ScatterMax.html) | 第一个输入的第一维不能切分,第二个输入不能切分,第三个输入的前n维(n为第二个输入的维度)不能切分;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.ScatterMin](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ScatterMin.html) | 第一个输入的第一维不能切分,第二个输入不能切分,第三个输入的前n维(n为第二个输入的维度)不能切分;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.ScatterMul](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ScatterMul.html) | 第二个输入不能切分,第三个输入的前n维(n为第二个输入的维度)不能切分;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.ScatterNdAdd](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ScatterNdAdd.html) | 第二个输入不能切分,第三个输入的前n-1维(n为第二个输入的维度)不能切分,第三个输入的剩下k个维度(除去前n-1维度)的切分与第一个输入的最后k个切分一致;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.ScatterNdSub](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ScatterNdSub.html) | 第二个输入不能切分,第三个输入的前n-1维(n为第二个输入的维度)不能切分,第三个输入的剩下k个维度(除去前n-1维度)的切分与第一个输入的最后k个切分一致;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.ScatterNdUpdate](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ScatterNdUpdate.html) | 第一个输入前m维度不能切(m为第二个输入indices的最后一维的值indices[-1])第二个输入不能切分,第三个输入的前n-1维(n为第二个输入的维度)不能切分,第三个输入的剩下k个维度(除去前n-1维度)的切分与第一个输入的最后k个切分一致;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.ScatterSub](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ScatterSub.html) | 第二个输入不能切分,第三个输入的前n维(n为第二个输入的维度)不能切分;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.ScatterUpdate](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ScatterUpdate.html) | 第一个输入的第一维不能切分,第二个输入不能切分,第三个输入的前n维(n为第二个输入的维度)不能切分;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.TensorScatterAdd](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.TensorScatterAdd.html) | 第二个输入不能切分,第三个输入的前n-1维(n为第二个输入的维度)不能切分,第三个输入的剩下k个维度(除去前n-1维度)的切分与第一个输入的最后k个切分一致;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.TensorScatterDiv](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.TensorScatterDiv.html) | 第二个输入不能切分,第三个输入的前n-1维(n为第二个输入的维度)不能切分,第三个输入的剩下k个维度(除去前n-1维度)的切分与第一个输入的最后k个切分一致;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.TensorScatterMax](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.TensorScatterMax.html) | 第一个输入前m维度不能切(m为第二个输入indices的最后一维的值indices[-1])第二个输入不能切分,第三个输入的前n-1维(n为第二个输入的维度)不能切分,第三个输入的剩下k个维度(除去前n-1维度)的切分与第一个输入的最后k个切分一致;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.TensorScatterMax](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.TensorScatterMin.html) | 第一个输入前m维度不能切(m为第二个输入indices的最后一维的值indices[-1])第二个输入不能切分,第三个输入的前n-1维(n为第二个输入的维度)不能切分,第三个输入的剩下k个维度(除去前n-1维度)的切分与第一个输入的最后k个切分一致;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.TensorScatterMul](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.TensorScatterMul.html) | 第二个输入不能切分,第三个输入的前n-1维(n为第二个输入的维度)不能切分,第三个输入的剩下k个维度(除去前n-1维度)的切分与第一个输入的最后k个切分一致;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.TensorScatterAdd](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.TensorScatterSub.html) | 第二个输入不能切分,第三个输入的前n-1维(n为第二个输入的维度)不能切分,第三个输入的剩下k个维度(除去前n-1维度)的切分与第一个输入的最后k个切分一致;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.TensorScatterUpdate](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.TensorScatterUpdate.html) | 第一个输入前m维度不能切(m为第二个输入indices的最后一维的值indices[-1])第二个输入不能切分,第三个输入的前n-1维(n为第二个输入的维度)不能切分,第三个输入的剩下k个维度(除去前n-1维度)的切分与第一个输入的最后k个切分一致;在auto_parallel模式下,不支持双递归算法。 | 不支持配置Layout                                                          |
| [mindspore.ops.Select](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Select.html) | 在auto_parallel模式下,不支持双递归算法。                    | 不支持配置Layout                                                          |
| [mindspore.ops.SeLU](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.SeLU.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Sigmoid](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Sigmoid.html) | 无                                                           | 支持配置输入的Layout,不支持配置输出的Layout                                                          |
| [mindspore.ops.SigmoidCrossEntropyWithLogits](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.SigmoidCrossEntropyWithLogits.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Sign](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Sign.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Sin](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Sin.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Sinh](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Sinh.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Softmax](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Softmax.html) | 输入(logits)在轴(axis)对应的维度不可切分,切分后,在数学逻辑上和单机不等价 | 支持配置输入的Layout,不支持配置输出的Layout,并且不能在轴(axis)对应的维度配置Layout                                                          |
| [mindspore.ops.SoftmaxCrossEntropyWithLogits](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.SoftmaxCrossEntropyWithLogits.html) | 输入(logits、labels)的最后一维不能切分;有两个输出,正向的loss只支持取[0] | 不支持配置Layout                                                          |
| [mindspore.ops.Softplus](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Softplus.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Softsign](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Softsign.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.SoftShrink](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.SoftShrink.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.SparseGatherV2](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.SparseGatherV2.html) | 同Gather                                                     | 不支持配置Layout                                                          |
| [mindspore.ops.Split](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Split.html) | 轴(axis)所对应的维度不能切分,切分后,在数学逻辑上和单机不等价 | 支持配置Layout,并且不能在轴(axis)所对应的维度配置                                                          |
| [mindspore.ops.Sqrt](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Sqrt.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Square](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Square.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.SquaredDifference](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.SquaredDifference.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Squeeze](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Squeeze.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Stack](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Stack.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.StridedSlice](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.StridedSlice.html) | 仅支持值为全0的mask;需要切分的维度必须全部提取;输入在strides不为1对应的维度不支持切分 | 不支持配置Layout                                                          |
| [mindspore.ops.Slice](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Slice.html) | 需要切分的维度必须全部提取                                   | 不支持配置Layout                                                          |
| [mindspore.ops.Sub](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Sub.html) | 无                                                           | 支持配置Layout,输入的Layout 需要相同或能广播,不支持配置输出的Layout                                                          |
| [mindspore.ops.Tan](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Tan.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Tanh](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Tanh.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Tile](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Tile.html) | 仅支持对dims配置切分策略                                | 支持配置输入与输出的Layout,dim (复制次数) 为1的维度,输入与输出中此维度切分策略需相同;dim>1的维度,输入中此维度不允许切分以防止复制后数据乱序,输出中对应dim需要能被切分数整除                                                          |
| [mindspore.ops.TopK](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.TopK.html) | 最后一维不支持切分,切分后,在数学逻辑上和单机不等价         | 不支持配置Layout                                                          |
| [mindspore.ops.Transpose](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Transpose.html) | 无                                                           | 支持配置Layout,不支持配置输出的Layout                                                          |
| [mindspore.ops.TruncateDiv](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.TruncateDiv.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.TruncateMod](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.TruncateMod.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Unique](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Unique.html) | 只支持重复计算的策略(1,)                                     | 不支持配置Layout                                                          |
| [mindspore.ops.UnsortedSegmentSum](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.UnsortedSegmentSum.html) | 输入input_x和segment_ids的切分配置必须在segment_ids的维度上保持一致 | 不支持配置Layout                                                          |
| [mindspore.ops.UnsortedSegmentMin](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.UnsortedSegmentMin.html) | 输入input_x和segment_ids的切分配置必须在segment_ids的维度上保持一致。注意:在segment id为空时,输出向量的对应位置会填充为输入类型的最大值。需要用户进行掩码处理,将最大值转换成0。否则容易造成数值溢出,导致通信API上溢错误,从而引发Run Task Error | 不支持配置Layout                                                          |
| [mindspore.ops.UnsortedSegmentMax](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.UnsortedSegmentMax.html) | 输入input_x和segment_ids的切分配置必须在segment_ids的维度上保持一致。注意:在segment id为空时,输出向量的对应位置会填充为输入类型的最小值。需要用户进行掩码处理,将最小值转换成0。否则容易造成数值溢出,导致通信API上溢错误,从而引发Run Task Error | 不支持配置Layout                                                          |
| [mindspore.ops.Xdivy](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Xdivy.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.Xlogy](https://mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.Xlogy.html) | 无                                                           | 不支持配置Layout                                                          |
| [mindspore.ops.ZerosLike](https://www.mindspore.cn/docs/zh-CN/master/api_python/ops/mindspore.ops.ZerosLike.html) | 无                                                           | 不支持配置Layout                                                          |

> 重复计算是指,机器没有用满,比如:集群有8张卡跑分布式训练,切分策略只对输入切成了4份。这种情况下会发生重复计算。