hw-native-sys/pto-isa/pto-comm-isa-reference

Claude Code and agent skill by hw-native-sys/pto-isa

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

PTO 通信指令集完整参考手册。覆盖全部 12 条通信指令(TPUT/TGET/TNOTIFY/TWAIT/TTEST/TGATHER/TSCATTER/TBROADCAST/TREDUCE/TPUT_ASYNC/TGET_ASYNC 及 BuildAsyncSession)的签名、参数、约束、数据流和使用示例。触发:查询 PTO 通信指令用法、参数含义、约束条件、信号类型、ParallelGroup 用法、AsyncSession 构建方式时。

Install

npx vskill@latest install hw-native-sys/pto-isa/pto-comm-isa-reference

SKILL.md

PTO-COMM ISA 指令速查手册

定位

本 Skill 是知识库型速查手册,提供 PTO-COMM 全部通信指令的快速索引。各指令按类别组织,包含签名、参数说明和关键约束。


头文件与命名空间

cpp
#include <pto/comm/pto_comm_inst.hpp> // 统一公共 API,只需此一个头文件
#include <pto/pto-inst.hpp> // PTO 核心指令(TLOAD/TSTORE 等)
using namespace pto;
using namespace pto::comm;

pto_comm_inst.hpp 会根据编译宏自动分发到 NPU 原生实现或 CPU 仿真后端。


指令分类总览

类别指令说明
点对点(同步)TPUT、TGET通过 UB 暂存 Tile 的远程写/读,支持单缓冲和 ping-pong 双缓冲
信号同步TNOTIFY、TWAIT、TTEST基于标志的跨 NPU 同步,信号为 int32_t 标量或二维网格
集合通信TGATHER、TSCATTER、TBROADCAST、TREDUCE基于 ParallelGroup 的多 rank 操作,由 root 发起
异步通信TPUT_ASYNC、TGET_ASYNC通过 SDMA/URMA 引擎的 GM→GM DMA 传输,返回 AsyncEvent
数据流模型
同步点对点(TPUT/TGET):
本地 GM → UB Tile(暂存) → 远端 GM
异步点对点(TPUT_ASYNC/TGET_ASYNC):
本地 GM → DMA 引擎(SDMA/URMA) → 远端 GM(不经过 UB)
集合通信(TGATHER/TSCATTER/TBROADCAST/TREDUCE):
多 rank GM → UB Tile(暂存) → 本地 GM(自动二维分块滑动)

指令选择决策树

需要在 NPU 间传输数据?
├── 一对一传输
│ ├── 需要 UB 中间暂存(Tile 级操作) → TPUT / TGET
│ │ ├── 写到远端 → TPUT(支持 AtomicAdd)
│ │ └── 从远端读 → TGET(不支持原子操作)
│ └── 大块 GM→GM 直传(不经 UB) → TPUT_ASYNC / TGET_ASYNC
│ ├── SDMA 引擎(通用) → DmaEngine::SDMA
│ └── URMA 引擎(仅 A5) → DmaEngine::URMA
│
├── 多 rank 操作
│ ├── 收集 → TGATHER
│ ├── 分发 → TSCATTER
│ ├── 广播 → TBROADCAST
│ └── 归约 → TREDUCE
│
└── 仅需同步(无数据传输)
├── 阻塞等待 → TWAIT
├── 非阻塞检测 → TTEST
└── 发送通知 → TNOTIFY

核心类型速查

类型用途关键约束
Signal标量同步信号int32_t,4 字节对齐
Signal2D<R,C>二维信号网格编译期形状,支持子区域视图
ParallelGroup<G>集合通信分组外部数组视图,所有 rank 必须传相同 rootIdx
NotifyOp通知操作类型AtomicAdd(原子加)/ Set(直接赋值)
WaitCmp比较运算符EQ / NE / GT / GE / LT / LE
ReduceOp归约运算符Sum / Max / Min
AtomicType原子操作类型AtomicNone(默认)/ AtomicAdd
DmaEngineDMA 引擎选择SDMA(通用)/ URMA(仅 A5)
AsyncEvent异步事件句柄Wait 使用 Quiet 语义(等待所有 pending)
AsyncSession异步会话通过 BuildAsyncSession 构建

详细说明:核心类型详解


指令约束速查表

指令源地址目标地址需要 UB Tile原子操作支持 Ping-Pong返回类型
TPUT本地远端是AtomicNone/AtomicAdd是RecordEvent
TGET远端本地是不支持是RecordEvent
TNOTIFY—远端否Set/AtomicAdd否void
TWAIT本地—否—否void
TTEST本地—否—否bool
TGATHER远端(多)本地是—是RecordEvent
TSCATTER本地远端(多)是—是RecordEvent
TBROADCAST本地远端(多)是—是RecordEvent
TREDUCE远端(多)本地是(2~3)—是RecordEvent
TPUT_ASYNC本地远端否(需scratch)—否AsyncEvent
TGET_ASYNC远端本地否(需scratch)—否AsyncEvent

各类指令详解

类别详细文档
TPUT / TGET(同步 P2P)P2P 指令详解
TNOTIFY / TWAIT / TTEST(信号同步)信号同步指令详解
TGATHER / TSCATTER / TBROADCAST / TREDUCE(集合通信)集合通信指令详解
TPUT_ASYNC / TGET_ASYNC / BuildAsyncSession(异步通信)异步通信指令详解

常见错误速查

#错误规则
1TNOTIFY 发到本地 / TWAIT 等远端TNOTIFY → 远端,TWAIT/TTEST → 本地
2非 root 调用集合通信仅 root 执行,非 root 不得调用
3乒乓 Tile UB 地址重叠pingTile 和 pongTile 使用不同 TASSIGN 偏移
4异步传输使用非一维 tensorTPUT_ASYNC/TGET_ASYNC 仅支持扁平连续一维
5Signal 类型不是 int32_tSignal/Signal2D 元素类型必须为 int32_t
6ParallelGroup tensors 未初始化远端地址必须正确设置

相关 Skills

Skill用途
pto-comm-operator-develop基于 PTO-COMM 开发通信算子的完整流程
pto-comm-testing-debug通信算子测试与调试指南
pto-comm-performance-optimization通信算子性能优化
vector-fusion-operator-generatePTO 向量融合算子开发指南

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
58
Repository forks
40
7-day trend score
20

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/hw-native-sys/pto-isa/pto-comm-isa-reference/badge)](https://verified-skill.com/skills/hw-native-sys/pto-isa/pto-comm-isa-reference)

Something wrong with this skill or its page? Tell us.