当前位置: 首页 > news >正文

CANN/pypto设置立方体切片形状

pypto.set_cube_tile_shapes

【免费下载链接】pyptoPyPTO(发音: pai p-t-o):Parallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto

产品支持情况

产品是否支持
Ascend 950PR/Ascend 950DT
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas A3 训练系列产品/Atlas A3 推理系列产品

功能说明

在调用pypto.matmulpypto.scaled_mm前必须调用本接口设置矩阵运算的切分大小,具体切分配置可参考Matmul高性能编程。

函数原型

set_cube_tile_shapes(m: List[int], k: List[int], n: List[int], enable_split_k: bool = False) -> None

参数说明

参数名输入/输出说明
m输入m维度在L0和L1上的TileShape(切片形状)的切分大小,分别对应mL0和mL1的切分大小
k输入k维度在L0和L1上的TileShape(切片形状)的切分大小,分别对应kL0和kL1的切分大小
n输入n维度在L0和L1上的TileShape(切片形状)的切分大小,分别对应nL0和nL1的切分大小
enable_split_k输入设置True表示使能matmul的多核切K功能,False表示未使能多核切K,默认为False

返回值说明

void

约束说明

  • 对齐约束

    • 通用对齐约束

    要求mL0、mL1、kL0、kL1、nL0、nL1均满足32字节对齐(DT_FP32输入场景要求满足16元素对齐)。例如:输入矩阵的数据类型为DT_FP16时,kL0 * sizeof(DT_FP16) % 32 == 0。

    • 基础关系约束
    约束项要求
    mL0 与 mL1mL0 > 0mL0 ≤ mL1mL1 % mL0 == 0
    kL0 与 kL1kL0 > 0kL0 ≤ kL1kL1 % kL0 == 0
    nL0 与 nL1nL0 > 0nL0 ≤ nL1nL1 % nL0 == 0
    • ND格式特有约束

    当A矩阵在format为ND且转置场景时(即数据排布为[K, M]),要求mL0满足32字节对齐。

    • NZ格式特有约束

    A、B矩阵在format为NZ场景时,要求外轴切分大小满足16元素对齐,内轴切分大小满足32字节对齐。例如,在A矩阵非转置场景,外轴为M、内轴为K,要求mL0、mL1满足16元素对齐,kL0、kL1满足32字节对齐。

  • 空间约束

    • 输入dtype为DT_FP16或DT_BF16或DT_FP32:
    CeilAlign(mL0, 16) × CeilAlign(kL0, 16) × sizeof(aDtype) ≤ L0A_size CeilAlign(nL0, 16) × CeilAlign(kL0, 16) × sizeof(bDtype) ≤ L0B_size CeilAlign(mL0, 16) × CeilAlign(nL0, 16) × sizeof(cDtype) ≤ L0C_size CeilAlign(mL1, 16) × CeilAlign(kL1, 16) × sizeof(aDtype) + CeilAlign(nL1, 16) × CeilAlign(kL1, 16) × sizeof(bDtype) ≤ L1_size
    • 输入dtype为DT_INT8或DT_FP8E5M2或DT_FP8E4M3或DT_HF8:
    CeilAlign(mL0, 32) × CeilAlign(kL0, 32) × sizeof(aDtype) ≤ L0A_size CeilAlign(nL0, 32) × CeilAlign(kL0, 32) × sizeof(bDtype) ≤ L0B_size CeilAlign(mL0, 32) × CeilAlign(nL0, 32) × sizeof(cDtype) ≤ L0C_size CeilAlign(mL1, 32) × CeilAlign(kL1, 32) × sizeof(aDtype) + CeilAlign(nL1, 32) × CeilAlign(kL1, 32) × sizeof(bDtype) ≤ L1_size
    • Bias空间约束:

    bias数据到达BTBuffer全部转为fp32,需满足以下约束:

    nL0 × 4 ≤ BTBuffer_size
    • FixPipe空间约束:

    scaleTensor数据为uint64_t,需满足以下约束:

    nL0 × 8 ≤ FixBuffer_size

    其中:

    • aDtype、bDtype为输入矩阵数据类型
    • cDtype为输出矩阵数据类型,当输入为DT_INT8时cDtype为DT_INT32,其余场景cDtype为DT_FP32
    • CeilAlign(value, align)元素对齐实现为:(value + align - 1) / align * align
  • 多核切K约束

    • 仅支持2维矩阵,3维/4维矩阵不支持多核切K
    • 多核切K场景只支持out_dtype数据类型为DT_FP32或DT_INT32。
    • Bias、FixPipe反量化场景不支持叠加多核切K功能。

调用示例

# 基本配置 pypto.set_cube_tile_shapes([128, 128], [128, 128], [128, 128]) # 启用多核切K pypto.set_cube_tile_shapes([128, 128], [64, 256], [128, 128], enable_split_k=True)

【免费下载链接】pyptoPyPTO(发音: pai p-t-o):Parallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/786010/

相关文章:

  • 收藏!AI浪潮下,大龄程序员如何逆袭,掌握未来核心竞争力!
  • 梁耀烽:苦难也有童话 十亿分之一的奇迹
  • OpenClaw Client:构建现代化AI Agent Web控制台的完整指南
  • 互联网大厂 Java 求职面试:从电商场景到微服务架构的深度探讨
  • RAG(检索增强生成)原理详解
  • 网络安全零基础自学 CTF 完整路线,打通 CTF 到护网进阶之路
  • 南宁初中数学差找什么家教?南宁家教总动员学科匹配与试听指南 - 教育快讯速递
  • 可解释AI(XAI)技术解析:从原理到行业落地实践
  • Ubuntu22-04上安装配置NVIDIA-RTX3090显卡驱动
  • 2026届学术党必备的六大AI辅助写作工具推荐榜单
  • 怎么从视频里快速提取文字?2026年这5款可以提取视频中文字的软件对比
  • 华为CANN opbase算子开发API列表
  • 初次接触大模型API的新手从注册到发出第一个请求的全指南
  • ESP固件烧录终极指南:15分钟掌握esptool核心技巧
  • 在Taotoken控制台查看与分析API用量数据的实践
  • C语言Json库 —— cJson
  • CANN/GE运行时执行系统——从OM文件到硅片计算的桥梁
  • 【收藏级】2026版Agentic AI从原理到实战完整指南,小白程序员必看!
  • CANN基础设施CI使用指南
  • CANN/ops-nn LogSigmoid算子
  • CCS下MSPM0G3507基础教程(一)——软件的安装(包含安装包)
  • 原生AI交易代理Logica:在Arena生态中实现自主交易与社交
  • Linux中如何添加环境变量
  • 视频直播点播/音视频点播EasyDSS构建智慧校园视频智能服务新体系
  • 基于Python的自动化求职监控系统:从爬虫到通知的完整实现
  • 2026年探秘凤凰古城:这五条小巷的深夜食堂,藏着最地道的湘西味
  • 通过TaotokenCLI工具一键配置团队开发环境中的大模型密钥
  • MindSpeed RL:昇腾强化学习解决方案
  • 质谱数据分析:机器学习模型选型、实现与可解释性实践指南
  • EARN框架:破解AI公平性度量共识难题的人本协同实践