asc.lib.host.MatmulApiTiling.set_split_range
- MatmulApiTiling.set_split_range(self: libhost.MatmulApiTilingBase, max_base_m: int = -1, max_base_n: int = -1, max_base_k: int = -1, min_base_m: int = -1, min_base_n: int = -1, min_base_k: int = -1) int
设置baseM/baseN/baseK的最大值和最小值。 目前Tiling暂时不支持该功能。
对应的Ascend C函数原型
int32_t SetSplitRange(int32_t maxBaseM = -1, int32_t maxBaseN = -1, int32_t maxBaseK = -1, int32_t minBaseM = -1, int32_t minBaseN = -1, int32_t minBaseK = -1)
参数说明
max_base_m:设置最大的baseM值,默认值为-1。-1表示不设置指定的baseM最大值,该值由Tiling函数自行计算。
max_base_n:设置最大的baseN值,默认值为-1。-1表示不设置指定的baseN最大值,该值由Tiling函数自行计算。
max_base_k:设置最大的baseK值,默认值为-1。-1表示不设置指定的baseK最大值,该值由Tiling函数自行计算。
min_base_m:设置最小的baseM值,默认值为-1。-1表示不设置指定的baseM最小值,该值由Tiling函数自行计算。
min_base_n:设置最小的baseN值,默认值为-1。-1表示不设置指定的baseN最小值,该值由Tiling函数自行计算。
min_base_k:设置最小的baseK值,默认值为-1。-1表示不设置指定的baseK最小值,该值由Tiling函数自行计算。
返回值说明
-1表示设置失败; 0表示设置成功。
约束说明
若base_m/base_n/base_k不满足C0_size对齐,计算Tiling时会将该值对齐到C0_size。提示,half/bfloat16_t数据类型的C0_size为16,float数据类型的C0_size为8,int8_t数据类型的C0_size为32,int4b_t数据类型的C0_size为64。