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

CANN/pto-isa PTO汇编规范

PTO-AS (PTO Assembly) Specification

【免费下载链接】pto-isaParallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platforms.项目地址: https://gitcode.com/cann/pto-isa

PTO-AS is a textual, instruction-centric assembly format for PTO Tile Lib. It is designed to be:

  • close to the PTO instruction set (TADD,TLOAD,TMATMUL, ...),
  • readable and easy to diff (one instruction per line),
  • compatible with MLIR tooling (SSA value naming, MLIR-like type spellings, MLIR bytecode as the interchange format).

PTO-AS is designed to be consumed/produced by an MLIR-based assembler/disassembler.

1. High-Level Form

A PTO-AS program is a list of statements. The most common statement is an instruction:

%dst = tadd %src0, %src1 : (!pto.tile<32x32xf32>, !pto.tile<32x32xf32>) -> !pto.tile<32x32xf32>;

PTO-AS uses SSA-like value names (%dst,%src0) to stay close to MLIR’s assembly conventions; this keeps the format deterministic and makes it easy to round-trip through MLIR bytecode.

PTO-AS is a synchronous, line-ordered format: there is nowait(...)clause and no implicit event result. If a program needs to model an explicit dependency, it uses an explicit instruction (for exampletsync) with event operands.

Operands may also include indexed forms (commonly used by memory ops):

%t0 = tload %sv[%c0, %c1] : (!pto.memref<...>, index, index) -> !pto.tile<...>;

Type signatures (: ...) are recommended for readability but may be omitted when the types are unambiguous in context.

2. Types

PTO-AS uses MLIR-like type spellings:

  • Tile values:!pto.tile<...>(opaque)
  • Global memory / views:!pto.memref<...>(opaque)
  • Events:!pto.event(opaque)
  • Scalars: MLIR builtin types likeindex,i32,f32

The assembler treats these asopaquetypes; they are carried through bytecode but not semantically verified unless a target-specific verifier is introduced later.

3. Attributes

Instruction modifiers that are not positional operands (e.g., compare modes) are written as an MLIR-style attribute dictionary:

%mask = tcmp %a, %b {cmpMode = #pto.cmp<GT>} : !pto.tile<16x16xf32> -> !pto.tile<16x16xi1>;

4. Directives

PTO-AS supports a small set of non-instruction directives for declaring external inputs and constants.

Argument declaration (introduces an SSA value):

.arg %a : !pto.tile<16x16xf16>;

Event arguments (when modeling a dependency explicitly):

.arg %e0 : !pto.event;

Constant declaration (introduces an SSA value):

.const %c0 = 0 : index;

5. Grammar

The normative grammar is provided in:

  • docs/assembly/PTO-AS.bnf

【免费下载链接】pto-isaParallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platforms.项目地址: https://gitcode.com/cann/pto-isa

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

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

相关文章:

  • 基于MCP协议构建Cursor团队数据AI助手:从原理到实战部署
  • 从LIME到反事实解释:可解释AI的核心技术路径与应用实战
  • 告别熬夜改稿!百考通AI带你一步步通关本科毕业论文
  • Origin:本地优先AI知识伴侣,构建可编辑记忆与知识图谱
  • Helm-GCS:构建高并发安全的私有Helm仓库实战指南
  • Windows驱动存储清理完全指南:DriverStore Explorer新手快速入门
  • 硬件IP隐私保护验证:BlindMarket框架与SAT求解优化
  • HLS设计存在的问题
  • 两相液冷:从“能跑起来”到“稳得下来”,满足智算中心对热管理的期待
  • 港口全真孪生多模态融合穿透视觉智能技术白皮书 】
  • 终极指南:如何在Windows上使用com0com虚拟串口驱动实现零成本串口通信
  • 大语言模型提示词工程:从AI游戏设计到工程实践
  • AI赋能马术:Gemini3.1Pro打造智能护理知识库
  • Godot引擎集成FFmpeg:专业视频解码与跨平台编译实战
  • CANN/ops-cv图像偏移变换算子
  • 基于Cursor-Agents-Kit构建AI编程智能体:从原理到团队实战指南
  • Sunshine游戏串流服务器:3步搭建你的跨平台游戏云
  • 万字长文!最详GEO攻略!重磅盘点!全球十家GEO 优化公司权威实力排名与口碑好geo服务商全解析+高频FAQ - 互联网科技品牌测评
  • 2026最权威的十大降AI率方案解析与推荐
  • Linuxdo:终端原生插件化启动器,打造Linux桌面效率工作流
  • Pixel2Geo™像素地理映射技术白皮书——铸就智慧港口厘米级空间感知巅峰
  • CANN/asc-devkit算子属性设置API
  • CANN昇腾学习中心
  • Talon语音与眼动追踪:重塑人机交互,打造高效工作流
  • MetaTune框架:解决机器人控制参数耦合的元学习方法
  • 基于大语言模型的智能爬虫:从规则驱动到意图驱动的范式革命
  • CANN驱动P2P使能查询API
  • Slack与Cursor AI本地自动化助手:提升开发效率的智能工作流
  • CANN/driver创建算力组API
  • 思维导图+实验报告册