动态shape图中,是否允许AI CPU算子和AI Core算子并行运行。
动态shape图中,开关开启时,系统自动识别图中可以和AI Core并发的AI CPU算子,不同引擎的算子下发到不同流上,实现多引擎间的并行,从而提升资源利用效率和动态shape执行性能。
参数取值:
- 1:允许AI CPU和AI Core算子间的并行运行。
- 0:(默认值)AI CPU算子不会单独分流。
配置示例:
必选/可选:可选
生效级别:全局
设置ND格式下动态维度的档位,适用于执行推理时,每次处理任意维度的场景。该参数需要与ge.inputShape配合使用。详细使用示例请参见。
参数取值: 通过"dim1,dim2,dim3;dim4,dim5,dim6;dim7,dim8,dim9"的形式设置。
参数值格式:所有档位必须放在双引号中,档位之间使用英文分号分隔,每档内参数使用英文逗号分隔;每档中的dim值与ge.inputShape参数中的-1标识的参数依次对应,inputShape参数中有几个-1,则每档必须设置几个维度。并且要求档位信息必须大于1组。
[object Object]参数值约束:
[object Object][object Object]- 针对Ascend 950PR/Ascend 950DT,档位数约束为:档位数取值范围为(1, 256],即必须设置至少2个档位,最多支持256档配置,建议配置为3~4档。
针对如下产品,档位数约束为:档位数取值范围为(1,100],即必须设置至少2个档位,最多支持100档配置,建议配置为3~4档。
[object Object]Atlas A3 训练系列产品/Atlas A3 推理系列产品
[object Object][object Object]Atlas A2 训练系列产品/Atlas A2 推理系列产品
[object Object][object Object]Atlas 训练系列产品
[object Object][object Object]Atlas 推理系列产品
[object Object]
使用示例:
若模型只有一个输入:
[object Object]若网络模型有多个输入:
每档中的dim值与模型输入参数中的-1标识的参数依次对应,模型输入参数中有几个-1,则每档必须设置几个维度。例如网络模型有三个输入,分别为data(1,1,40,T),label(1,T),mask(T,T) ,其中T为动态可变。则配置示例为:
[object Object]
必选/可选:可选
生效级别:session/graph
用于指定动态输入的节点类型。
- 0:dataset输入为动态输入。
- 1:placeholder输入为动态输入。
当前不支持dataset和placeholder输入同时为动态输入。
配置示例:
必选/可选:可选
生效级别:session/graph
控制静态小图(根图)执行时是否走动态shape调度的最大阈值。默认阈值为0。建议大模型场景使用。
- 如果静态根图节点的个数<最大阈值,则走动态shape调度。大模型场景,该方式可以节约Stream资源。
- 如果静态根图节点的个数>最大阈值,则保持原有流程不变。
说明:如果静态根图节点包括子图,则该参数不生效。
必选/可选:可选
生效级别:全局/session/graph
动态shape拆分中,设置静态子图最小算子数量阈值。
参数取值:
取值范围为-1到正无穷,取其他值报错;默认值为4。
取值>=0:
- 算子数<门限,静态子图不单独拆图,合并到动态图走动态执行。
- 算子数>=门限,保持原有流程不变(静态子图仍旧会拆图)。
取值=-1:表示所有算子走动态图执行。
例如,假设静态子图中算子数为4,通过该参数配置的门限为10,则静态子图不会单独拆图,走动态图执行。
必选/可选:可选
生效级别:graph
指定模型输入数据的shape。在线推理或训练场景下,该参数仅在动态分档场景(动态维度)下为必选配置;在非动态分档场景下,单独配置此选项不生效。
动态分档场景,原始模型中输入数据的某个或某些维度值不固定,当前支持通过设置shape分档方式转换模型。
参数取值:
模型为非固定shape
设置ge.inputShape参数时,将对应维度值设置为-1,需要同时配合ge.dynamicDims(设置动态维度档位)参数、ge.dynamicNodeType(指定动态输入的节点类型)参数一起使用。
模型shape为标量+动态分档
如果模型输入中既有标量shape,又有支持动态分档的shape,则标量输入不能忽略,必须配置。例如模型有三个输入,分别为A:[-1,c1,h1,w1]、B:[]、C:[n2,c2,h2,w2],则shape信息为"A:-1,c1,h1,w1;B:;C:n2,c2,h2,w2",标量输入B必须配置。
配置示例:
非固定shape:
设置指定维度档位的示例,请参见ge.dynamicDims。
shape为标量+动态分档
shape为标量的输入,必须配置。例如模型有三个输入,shape信息分别为A:[-1,32,208,208]、B:[]、C:[16,64,208,208],则配置示例为(A为动态分档输入,此处以设置动态维度档位为例):
[object Object]
必选/可选:可选
生效级别:session/graph