核心类型详解【免费下载链接】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-isaSignal — 标量信号用于单标志同步封装int32_t类型的 GM 地址using Signal GlobalTensorint32_t, Shape1,1,1,1,1, Stride1,1,1,1,1, Layout::ND; comm::Signal sig(ptr); // ptr: __gm__ int32_t*Signal2D — 二维信号矩阵编译期形状的二维信号网格支持密集布局和子区域视图// 密集 4×8 网格步长自动推导为 8 comm::Signal2D4, 8 grid(ptr); // 从 128 列大网格中的子区域步长 128 comm::Signal2D4, 8 sub(ptr offset, 128);ParallelGroup — 集合通信分组轻量级视图封装多 rank 的GlobalTensor对象数组template typename GlobalData struct ParallelGroup { GlobalData *tensors; // 每个 rank 的 GlobalTensor 数组 int nranks; // rank 总数 int rootIdx; // root NPU 的 rank 索引 static ParallelGroup Create(GlobalData *tensorArray, int size, int rootIdx); };关键约束tensors指向外部数组不做动态内存分配rootIdx是 root rank 在组中的索引所有 rank 必须传入相同的rootIdx通过operator[]按 team rank 索引访问NotifyOp — 通知操作类型值说明NotifyOp::AtomicAdd原子加signal valueNotifyOp::Set直接赋值signal valueWaitCmp — 比较运算符值说明WaitCmp::EQ等于 ()WaitCmp::NE不等于 (!)WaitCmp::GT大于 ()WaitCmp::GE大于等于 ()WaitCmp::LT小于 ()WaitCmp::LE小于等于 ()ReduceOp — 归约运算符值说明ReduceOp::Sum逐元素求和ReduceOp::Max逐元素取最大值ReduceOp::Min逐元素取最小值AtomicType — 原子操作类型定义于include/pto/common/constants.hpp值说明AtomicType::AtomicNone无原子操作默认AtomicType::AtomicAdd原子加操作DmaEngine — DMA 引擎选择值说明DmaEngine::SDMASDMA 引擎支持二维传输DmaEngine::URMAURMA 引擎支持一维传输仅 Ascend950 / NPU_ARCH 3510AsyncEvent — 异步事件句柄struct AsyncEvent { uint64_t handle; DmaEngine engine; bool valid() const; // handle ! 0 时返回 true bool Wait(const AsyncSession session) const; // 阻塞直到传输完成 bool Test(const AsyncSession session) const; // 非阻塞完成检测 };AsyncSession — 异步会话引擎无关的会话对象通过BuildAsyncSessionengine()构建struct AsyncSession { DmaEngine engine; sdma::SdmaSession sdmaSession; urma::UrmaSession urmaSession; bool valid; };【免费下载链接】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),仅供参考