Contents Menu Expand Light mode Dark mode Auto light/dark mode
PyPTO文档
PyPTO文档

目录

  • 环境部署
    • 环境部署
    • PyPTO安装
  • PyPTO Tensor算子开发
    • 简介
    • 快速入门
    • 编程范式
    • 算子开发
      • Tensor的创建
      • Tensor的操作
      • Tiling配置
      • 编译与执行
      • 循环和数据切分
      • 条件与分支
    • 调试调优
      • 功能调试
      • 精度调试
      • 性能调优
      • Matmul性能调优指导
      • ffn_shared_expert_quant算子NPU上板调试案例
      • QuantIndexerProlog算子性能优化案例
      • GatedDeltaRule算子性能优化案例
    • PyTorch集成和接入
    • 附录
      • 术语表
      • 常见问题
        • kernel函数出参未写回导致计算不生效
        • 未设置执行算子的设备ID
        • CANN包不兼容
        • TileShape与Tensor维度不匹配
        • view未传入valid_shape导致精度问题
        • set_xxx_tile_shapes最后一维未32字节对齐
        • 算子编译报堆栈溢出错误
        • 循环中使用Python print函数打印
        • local Tensor无producer时被读取触发device侧断言
        • Loop原理及其描述
        • 使用未初始化的Tensor
        • 同一个Tensor进行View和Assemble导致图成环报错
        • SymbolicScalar不支持循环内自增
        • AICore kernel执行异常
        • 泳道图问题
      • 错误码参考
        • 简介
        • F20000-F3FFFF
        • F4XXXX-F5XXXX
        • F6XXXX
        • F7XXXX-F8XXXX
        • F9XXXX
        • FC0XXX-FC2XXX
        • FC3XXX-FC5XXX
        • FC6XXX-FC8XXX
      • 环境变量参考
        • PTO_TILE_LIB_CODE_PATH
        • TILE_FWK_DEVICE_ID
        • PYPTO_THIRD_PARTY_PATH
        • DUMP_DEVICE_PERF
        • PYPTO_PROF_PMU_EVENT_TYPE
        • PYPTO_LAUNCH_SCHED_SAME_CLUSTER
        • PYPTO_DATADUMP_ENABLE
  • PyPTO Tensor API
    • 张量
      • pypto.Tensor简介
      • pypto.Tensor构造函数
      • pypto.Tensor.add
      • pypto.Tensor.amax
      • pypto.Tensor.amin
      • pypto.Tensor.assemble
      • pypto.Tensor.clone
      • pypto.Tensor.concat
      • pypto.Tensor.cos
      • pypto.Tensor.cumprod
      • pypto.Tensor.cumsum
      • pypto.Tensor.dim
      • pypto.Tensor.div
      • pypto.Tensor.dtype
      • pypto.Tensor.exp
      • pypto.Tensor.exp2
      • pypto.Tensor.expand_clone
      • pypto.Tensor.expm1
      • pypto.Tensor.fmod
      • pypto.Tensor.id
      • pypto.Tensor.index_add
      • pypto.Tensor.index_add_
      • pypto.Tensor.format
      • pypto.Tensor.gather
      • pypto.Tensor.gcd
      • pypto.Tensor.get_cache_policy
      • pypto.Tensor.log
      • pypto.Tensor.log10
      • pypto.Tensor.log2
      • pypto.Tensor.logical_not
      • pypto.Tensor.matmul
      • pypto.Tensor.maximum
      • pypto.Tensor.move
      • pypto.Tensor.mul
      • pypto.Tensor.name
      • pypto.Tensor.permute
      • pypto.Tensor.reciprocal
      • pypto.Tensor.remainder
      • pypto.Tensor.reshape
      • pypto.Tensor.round
      • pypto.Tensor.set_cache_policy
      • pypto.Tensor.scatter
      • pypto.Tensor.scatter_
      • pypto.Tensor.scatter_update
      • pypto.Tensor.shape
      • pypto.Tensor.rsqrt
      • pypto.Tensor.sigmoid
      • pypto.Tensor.sin
      • pypto.Tensor.softmax
      • pypto.Tensor.sqrt
      • pypto.Tensor.ceil
      • pypto.Tensor.floor
      • pypto.Tensor.trunc
      • pypto.Tensor.sub
      • pypto.Tensor.sum
      • pypto.Tensor.topk
      • pypto.Tensor.transpose
      • pypto.Tensor.tril
      • pypto.Tensor.tril_
      • pypto.Tensor.triu
      • pypto.Tensor.triu_
      • pypto.Tensor.unsqueeze
      • pypto.Tensor.view
      • pypto.Tensor.where
      • pypto.Tensor索引功能说明
    • 标量
      • pypto.Element简介
      • pypto.Element构造函数
      • pypto.Element.dtype
      • pypto.Element.value
    • 操作
      • pypto.abs
      • pypto.acos
      • pypto.acosh
      • pypto.add
      • pypto.amax
      • pypto.amin
      • pypto.arange
      • pypto.argmax
      • pypto.argmin
      • pypto.argsort
      • pypto.asin
      • pypto.asinh
      • pypto.assemble
      • pypto.atan
      • pypto.atan2
      • pypto.atanh
      • pypto.atomic_add
      • pypto.axpy_
      • pypto.bitwise_and
      • pypto.bitwise_left_shift
      • pypto.bitwise_not
      • pypto.bitwise_or
      • pypto.bitwise_right_shift
      • pypto.bitwise_xor
      • pypto.cast
      • pypto.cbrt
      • pypto.ceil
      • pypto.ceil_div
      • pypto.clip
      • pypto.clone
      • pypto.concat
      • pypto.conv_backward_input
      • pypto.conv
      • pypto.cos
      • pypto.cosh
      • pypto.cumprod
      • pypto.cumsum
      • pypto.deinterleave
      • pypto.dequantize
      • pypto.div
      • pypto.eq
      • pypto.erf
      • pypto.erfc
      • pypto.exp
      • pypto.exp2
      • pypto.expand_clone
      • pypto.expand_exp_dif
      • pypto.experimental.gather_in_l1
      • pypto.experimental.gather_in_ub
      • pypto.experimental.get_operation_options
      • pypto.experimental.online_softmax
      • pypto.experimental.online_softmax_update
      • pypto.experimental.set_operation_options
      • pypto.experimental.transposed_batchmatmul
      • pypto.expm1
      • pypto.fillpad
      • pypto.floor
      • pypto.floor_div
      • pypto.fmod
      • pypto.full
      • pypto.gather
      • pypto.gathermask
      • pypto.gcd
      • pypto.ge
      • pypto.gt
      • pypto.hypot
      • pypto.index_add
      • pypto.index_add_
      • pypto.index_add__ub
      • pypto.index_add_ub
      • pypto.index_put_
      • pypto.index_select
      • pypto.interleave
      • pypto.isfinite
      • pypto.isnan
      • pypto.le
      • pypto.log
      • pypto.log10
      • pypto.log1p
      • pypto.log2
      • pypto.logical_and
      • pypto.logical_not
      • pypto.lrelu
      • pypto.lt
      • pypto.matmul
      • pypto.maximum
      • pypto.minimum
      • pypto.mul
      • pypto.ne
      • pypto.neg
      • pypto.normal
      • pypto.one_hot
      • pypto.ones
      • pypto.pack
      • pypto.pad
      • pypto.permute
      • pypto.pow
      • pypto.prelu
      • pypto.prod
      • pypto.quant_mx
      • pypto.quantize
      • pypto.reciprocal
      • pypto.relu
      • pypto.remainder
      • pypto.reshape
      • pypto.rms_norm
      • pypto.round
      • pypto.rsqrt
      • pypto.scaled_mm
      • pypto.scatter
      • pypto.scatter_
      • pypto.scatter_update
      • pypto.sigmoid
      • pypto.sign
      • pypto.signbit
      • pypto.sin
      • pypto.sinh
      • pypto.softmax
      • pypto.sqrt
      • pypto.sub
      • pypto.sum
      • pypto.tan
      • pypto.tanh
      • pypto.topk
      • pypto.transpose
      • pypto.tril
      • pypto.triu
      • pypto.trunc
      • pypto.uniform
      • pypto.unpack
      • pypto.unsqueeze
      • pypto.var
      • pypto.view
      • pypto.where
      • pypto.zeros
    • 数据类型
      • CachePolicy
      • CastMode
      • DataType
      • PrecisionType
      • LogBaseType
      • OpType
      • OutType
      • ReduceMode
      • ReLuType
      • ScatterMode
      • SaturationMode
      • TileOpFormat
      • TopKAlgo
      • TransMode
      • pypto.bytes_of
    • 控制流
      • pypto.cond
      • pypto.function
      • pypto.is_loop_begin
      • pypto.is_loop_end
      • pypto.loop
      • pypto.loop_unroll
    • 配置
      • pypto.frontend.jit
      • pypto.get_codegen_options
      • pypto.get_conv_tile_shapes
      • pypto.get_convbp_input_tile_shapes
      • pypto.get_cube_tile_shapes
      • pypto.get_debug_options
      • pypto.get_host_options
      • pypto.get_pass_options
      • pypto.get_pass_config
      • pypto.get_pass_configs
      • pypto.get_pass_default_config
      • pypto.get_vec_tile_shapes
      • pypto.get_verify_options
      • pypto.reset_options
      • pypto.set_codegen_options
      • pypto.set_conv_tile_shapes
      • pypto.set_convbp_input_tile_shapes
      • pypto.set_cube_tile_shapes
      • pypto.set_debug_options
      • pypto.set_host_options
      • pypto.set_matrix_size
      • pypto.set_pass_config
      • pypto.set_pass_default_config
      • pypto.set_pass_options
      • pypto.set_semantic_label
      • pypto.set_vec_tile_shapes
      • pypto.set_verify_options
    • 符号化
      • pypto.SymbolicScalar简介
      • pypto.SymbolicScalar构造函数
      • pypto.SymbolicScalar.as_variable
      • pypto.SymbolicScalar.concrete
      • pypto.SymbolicScalar.is_concrete
      • pypto.SymbolicScalar.is_expression
      • pypto.SymbolicScalar.is_immediate
      • pypto.SymbolicScalar.is_symbol
      • pypto.SymbolicScalar.max
      • pypto.SymbolicScalar.min
    • 其他
      • pypto.from_torch
      • pypto.pass_verify_print
      • pypto.pass_verify_save
      • pypto.set_verify_golden_data
      • pypto.DYNAMIC
      • pypto.frontend.function
  • PyPTO Pro算子开发
    • 简介
    • 快速入门
      • SIMD 快速入门
        • HelloWorld
        • Add算子快速入门
        • Matmul算子快速入门
        • CV融合算子快速入门
      • SIMT 快速入门
        • Add算子快速入门
    • 编程范式
      • 编程范式概述
      • SIMT编程模型
      • 抽象硬件架构
    • 算子开发
      • Tile核函数
      • 基于Tile的Python编程
        • Python语言编程概述
        • Tile矢量计算编程
        • Reg矢量计算编程
        • Cube矩阵计算编程
        • 尾块处理
        • 多核切分与Tiling:把数据分到多个逻辑AI Core
        • TilingData
        • TilingKey
      • 编译与运行
        • AI Core算子JIT编译基本用法
        • AI Core算子离线二进制编译基本用法
    • 调试调优
      • 功能调试
      • 性能调优
  • PyPTO Pro API
    • SIMD API
      • 基础数据结构
        • pypto_pro.language.AccToVecMode
        • pypto_pro.language.AtomicType
        • pypto_pro.language.CacheLine
        • pypto_pro.language.DataType
        • pypto_pro.language.DcciDst
        • pypto_pro.language.MemorySpace
        • pypto_pro.language.PipeType
        • pypto_pro.language.Ptr
        • pypto_pro.language.QuantMode
        • pypto_pro.language.ReluPreMode
        • pypto_pro.language.RoundMode
        • pypto_pro.language.Scalar
        • pypto_pro.language.STPhase
        • pypto_pro.language.SyncAllMode
        • pypto_pro.language.SyncCoreType
        • pypto_pro.language.Tensor
        • pypto_pro.language.TensorLayout
        • pypto_pro.language.TilePad
        • pypto_pro.language.TileType
      • 计算API
        • Memory数据搬运
          • pypto_pro.language.insert
          • pypto_pro.language.load
          • pypto_pro.language.load_tile
          • pypto_pro.language.move
          • pypto_pro.language.ssbuf_load
          • pypto_pro.language.ssbuf_store
          • pypto_pro.language.store
          • pypto_pro.language.store_tile
        • Memory矢量计算
          • 逐元素
            • pypto_pro.language.abs
            • pypto_pro.language.add
            • pypto_pro.language.and_
            • pypto_pro.language.div
            • pypto_pro.language.log
            • pypto_pro.language.maximum
            • pypto_pro.language.minimum
            • pypto_pro.language.mul
            • pypto_pro.language.neg
            • pypto_pro.language.relu
            • pypto_pro.language.sqrt
            • pypto_pro.language.sub
            • pypto_pro.language.shl
            • pypto_pro.language.shr
            • pypto_pro.language.xor
          • 融合矢量计算
            • pypto_pro.language.add_relu
            • pypto_pro.language.add_relu_cast
            • pypto_pro.language.fused_mul_add_relu
            • pypto_pro.language.mul_add_dst
            • pypto_pro.language.mul_cast
            • pypto_pro.language.partadd
            • pypto_pro.language.partmax
            • pypto_pro.language.partmin
            • pypto_pro.language.partmul
            • pypto_pro.language.sub_relu
            • pypto_pro.language.sub_relu_cast
          • 复合计算
            • pypto_pro.language.axpy
            • pypto_pro.language.fused_mul_add
          • 离散与聚合
            • pypto_pro.language.gather
            • pypto_pro.language.gatherb
            • pypto_pro.language.gathermask
            • pypto_pro.language.histogram
            • pypto_pro.language.scatter
          • 类型转换
            • pypto_pro.language.cast
          • 比较
            • 比较接口(pypto_pro.language.eq/ne/lt/le/gt/ge)
          • 选择
            • pypto_pro.language.select
          • 转置与元素读写
            • pypto_pro.language.getval
            • pypto_pro.language.set_validshape
            • pypto_pro.language.setval
            • pypto_pro.language.transpose
          • 向量掩码
            • pypto_pro.language.reset_mask
            • pypto_pro.language.set_mask_count
            • pypto_pro.language.set_mask_norm
            • pypto_pro.language.set_vec_mask
          • 数学函数
            • pypto_pro.language.argmax
            • pypto_pro.language.argmin
            • pypto_pro.language.exp
            • pypto_pro.language.expand_div
            • pypto_pro.language.expand_max
            • pypto_pro.language.expand_min
            • pypto_pro.language.expand_mul
            • pypto_pro.language.expand_sub
            • pypto_pro.language.expands
            • pypto_pro.language.max
            • pypto_pro.language.min
            • pypto_pro.language.recip
            • pypto_pro.language.rsqrt
            • pypto_pro.language.sum
          • 排序
            • pypto_pro.language.mrgsort
            • pypto_pro.language.mrgsort2
            • pypto_pro.language.sort32
          • pypto_pro.language.fillpad
        • VF计算
          • vf.reg_tensor
          • vf.mask_reg
          • VF枚举类型
            • MaskPattern
            • MergeMode
            • DuplicatePos
            • CastLayout
            • VFRoundMode
            • SaturateMode
            • BinType
            • HistType
            • SqueezeMode
            • PackPart
            • MaskWidth
            • LoadDist
            • StoreDist
            • DataCopyMode
            • IndexOrder
            • MemBarMode
          • 基础算术
            • vf.abs
            • vf.add
            • vf.addc
            • vf.adds
            • vf.div
            • vf.exp
            • vf.leaky_relu
            • vf.ln
            • vf.log
            • vf.log10
            • vf.log2
            • vf.max
            • vf.maxs
            • vf.min
            • vf.mins
            • vf.mul
            • vf.mull
            • vf.muls
            • vf.neg
            • vf.prelu
            • vf.relu
            • vf.sqrt
            • vf.sub
            • vf.subc
          • 逻辑计算
            • vf.and_
            • vf.not_
            • vf.or_
            • vf.shift_left
            • vf.shift_right
            • vf.xor
          • 比较与选择
            • vf.eq
            • vf.ge
            • vf.gt
            • vf.le
            • vf.lt
            • vf.ne
            • vf.select
            • vf.squeeze
          • 类型转换
            • vf.astype
            • vf.bit_cast
            • vf.truncate
          • 数据搬运
            • vf.clear_spr
            • vf.create_addr_reg
            • vf.full
            • vf.gather
            • vf.get_mask_spr
            • vf.load
            • vf.load_align
            • vf.load_unalign
            • vf.load_unalign_init
            • vf.load_unalign_pre
            • vf.mem_bar
            • vf.move
            • vf.scatter
            • vf.store
            • vf.store_align
            • vf.store_unalign
            • vf.store_unalign_post
            • vf.squeeze_store_unalign
            • vf.squeeze_store_unalign_post
            • vf.unalign_reg_for_store
          • 特殊寄存器访问
            • pl.get_spr
            • pl.get_ctrl_spr
            • pl.get_saturation_flag
            • pl.set_ctrl_spr
            • pl.set_saturation_flag
            • pl.reset_ctrl_spr
          • 归约
            • vf.pair_reduce_sum
            • vf.reduce_max
            • vf.reduce_min
            • vf.reduce_sum
          • 复合计算
            • vf.abs_sub
            • vf.axpy
            • vf.exp_sub
            • vf.mul_add_dst
            • vf.mul_dst_add
            • vf.muls_cast
          • 掩码操作
            • vf.create_mask
            • vf.update_mask
          • 排序与索引
            • vf.arange
            • vf.histograms
          • 高级计算
            • vf.de_interleave
            • vf.interleave
            • vf.pack
            • vf.unpack
            • vf.unsqueeze
        • 矩阵计算
          • pypto_pro.language.matmul
          • pypto_pro.language.matmul_acc
          • pypto_pro.language.matmul_mx
          • pypto_pro.language.matmul_mx_acc
          • phase使用约束(AccPhase / STPhase)
          • pypto_pro.language.system.set_mm_layout_transform
        • 量化
          • pypto_pro.language.dequant
          • pypto_pro.language.quant
        • 控制流
          • pypto_pro.language.range
          • pypto_pro.language.section_cube
          • pypto_pro.language.section_vector
        • 资源管理
          • pypto_pro.language.addptr
          • pypto_pro.language.make_ptr
          • pypto_pro.language.make_tensor
          • pypto_pro.language.make_tile
          • pypto_pro.language.make_tile_group
          • pypto_pro.language.reinterpret
        • 同步控制
          • pypto_pro.language.system.bar_m / pypto_pro.language.system.bar_mte1 / pypto_pro.language.system.bar_mte2 / pypto_pro.language.system.bar_mte3 / pypto_pro.language.system.bar_fix / pypto_pro.language.system.bar_all
          • pypto_pro.language.system.mutex_lock
          • pypto_pro.language.system.mutex_unlock
          • pypto_pro.language.CrossCoreSyncMode
          • pypto_pro.language.system.set_cross_core
          • pypto_pro.language.system.sync_all
          • pypto_pro.language.system.sync_src / pypto_pro.language.system.sync_dst
          • pypto_pro.language.system.wait_cross_core
        • 缓存控制
          • pypto_pro.language.system.dcci
        • 系统访问变量
          • pypto_pro.language.get_block_idx
          • pypto_pro.language.get_block_num
          • pypto_pro.language.get_subblock_idx
          • pypto_pro.language.get_subblock_num
        • 转置与元素读写
          • pypto_pro.language.fill_index
        • 工具函数
          • int[N] / float[N] / bool[N]
          • pypto_pro.language.make_tuple
          • pypto_pro.language.struct
          • pypto_pro.language.struct_array
    • SIMT API
      • SIMT执行
        • pypto_pro.language.simt.launch
        • pypto_pro.language.simt.thread_idx
        • pypto_pro.language.simt.block_dim
        • pypto_pro.language.simt.block_idx
        • pypto_pro.language.simt.grid_dim
        • pypto_pro.language.simt.linear_thread_idx
      • 标量计算接口
        • pypto_pro.language.simt.cast
        • pypto_pro.language.simt.bitcast
        • pypto_pro.language.simt.abs
        • pypto_pro.language.simt.min
        • pypto_pro.language.simt.max
        • pypto_pro.language.simt.sqrt
        • pypto_pro.language.simt.rsqrt
        • pypto_pro.language.simt.exp
        • pypto_pro.language.simt.exp2
        • pypto_pro.language.simt.log
        • pypto_pro.language.simt.log2
        • pypto_pro.language.simt.log1p
        • pypto_pro.language.simt.sin
        • pypto_pro.language.simt.cos
        • pypto_pro.language.simt.tanh
        • pypto_pro.language.simt.rint
        • pypto_pro.language.simt.round
        • pypto_pro.language.simt.floor
        • pypto_pro.language.simt.ceil
        • pypto_pro.language.simt.trunc
        • pypto_pro.language.simt.fma
        • pypto_pro.language.simt.isnan
        • pypto_pro.language.simt.isinf
      • 原子操作
        • pypto_pro.language.simt.atomic_add
        • pypto_pro.language.simt.atomic_sub
        • pypto_pro.language.simt.atomic_exch
        • pypto_pro.language.simt.atomic_max
        • pypto_pro.language.simt.atomic_min
        • pypto_pro.language.simt.atomic_inc
        • pypto_pro.language.simt.atomic_dec
        • pypto_pro.language.simt.atomic_cas
        • pypto_pro.language.simt.atomic_and
        • pypto_pro.language.simt.atomic_or
        • pypto_pro.language.simt.atomic_xor
    • Utils API
      • Python语法糖
        • pypto_pro.language.const
        • pypto_pro.language.max
        • pypto_pro.language.min
      • 调测接口
        • pypto_pro.language.dump_data
        • pypto_pro.language.printf
        • pypto_pro.language.pto_assert
        • pypto_pro.language.trap
Back to top
Edit this page

基于Tile的Python编程#

本节介绍基于Tile的Python语言编程方法。

  • Python语言编程概述
  • Tile矢量计算编程
  • Reg矢量计算编程
  • Cube矩阵计算编程
  • 尾块处理
  • 多核切分与Tiling:把数据分到多个逻辑AI Core
  • TilingData
  • TilingKey
Next
Python语言编程概述
Previous
Tile核函数
Copyright © 2025-2026 Huawei Technologies Co., Ltd. All Rights Reserved.
Made with Sphinx and @pradyunsg's Furo