pypto_pro.language.TilePad#
产品支持情况#
Ascend 950PR/Ascend 950DT:支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品:不支持
Atlas A2 训练系列产品/Atlas A2 推理系列产品:不支持
功能说明#
Tile边界不足时的填充方式枚举,用于尾块/非满块场景。
当tile的有效数据区域小于其shape时(如动态维度的尾块),超出有效区域的部分需要按指定模式填充。
取值#
取值 |
说明 |
典型用途 |
|---|---|---|
|
不填充(默认) |
大多数场景 |
|
补0 |
卷积padding、零初始化 |
|
补该类型最大值 |
取最小值操作的无效区域 |
|
补该类型最小值 |
flash attention掩码(无效行补FP32 min,被max/softmax忽略) |
补充说明#
flash attention掩码:当KV长度不是tile大小的整数倍时,最后一块的无效行需要补FP32最小值,这样在后续的row_max和exp操作中会被自然忽略。
卷积padding:卷积操作中边界填充零值。
调用示例#
import pypto_pro.language as pl
# 不填充(默认)
tt = pl.TileType(shape=[64, 128], dtype=pl.DT_FP16,
target_memory=pl.MemorySpace.Vec)
# 补零(卷积 padding)
tt_pad = pl.TileType(shape=[64, 128], dtype=pl.DT_FP16,
target_memory=pl.MemorySpace.Vec, pad=pl.TilePad.zero)
# 补最小值(flash attention 掩码)
tt_mask = pl.TileType(shape=[64, 128], dtype=pl.DT_FP32,
target_memory=pl.MemorySpace.Vec, pad=pl.TilePad.min)