news 2026/5/9 14:33:37

CANN PTO Tile-Scalar汇编操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN PTO Tile-Scalar汇编操作

Tile-Scalar / Tile-Immediate

【免费下载链接】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

This document describes operations between tiles and scalar values or immediate constants.

Total Operations:20


Operations

TEXPANDS

For detailed instruction documentation, see isa/TEXPANDS

AS Level 1 (SSA):

%dst = pto.texpands %scalar : dtype -> !pto.tile<...>

AS Level 2 (DPS):

pto.texpands ins(%scalar : dtype) outs(%dst : !pto.tile_buf<...>)

TCMPS

For detailed instruction documentation, see isa/TCMPS

AS Level 1 (SSA):

%dst = pto.tcmps %src, %scalar {cmpMode = #pto<cmp xx>} : (!pto.tile<...>, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcmps ins(%src, %scalar{cmpMode = #pto<cmp xx>}: !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TSELS

For detailed instruction documentation, see isa/TSELS

AS Level 1 (SSA):

%dst = pto.tsels %src0, %src1, %scalar : (!pto.tile<...>, !pto.tile<...>, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tsels ins(%src0, %src1, %scalar : !pto.tile_buf<...>, !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TMINS

For detailed instruction documentation, see isa/TMINS

AS Level 1 (SSA):

%dst = pto.tmins %src, %scalar : (!pto.tile<...>, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tmins ins(%src, %scalar : !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TADDS

For detailed instruction documentation, see isa/TADDS

AS Level 1 (SSA):

%dst = pto.tadds %src, %scalar : (!pto.tile<...>,dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tadds ins(%src, %scalar : !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TSUBS

For detailed instruction documentation, see isa/TSUBS

AS Level 1 (SSA):

%dst = pto.tsubs %src, %scalar : (!pto.tile<...>, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tsubs ins(%src, %scalar : !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TDIVS

For detailed instruction documentation, see isa/TDIVS

AS Level 1 (SSA):

%dst = pto.tdivs %src, %scalar : (!pto.tile<...>, dtype) -> !pto.tile<...> %dst = pto.tdivs %scalar, %src : (dtype, !pto.tile<...>) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tdivs ins(%src, %scalar : !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>) pto.tdivs ins(%scalar, %src : dtype, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TMULS

For detailed instruction documentation, see isa/TMULS

AS Level 1 (SSA):

%dst = pto.tmuls %src, %scalar : (!pto.tile<...>, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tmuls ins(%src, %scalar : !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TFMODS

For detailed instruction documentation, see isa/TFMODS

AS Level 1 (SSA):

%dst = pto.tfmods %src, %scalar : !pto.tile<...>, f32

AS Level 2 (DPS):

pto.tfmods ins(%src, %scalar : !pto.tile_buf<...>, f32) outs(%dst : !pto.tile_buf<...>)

TREMS

For detailed instruction documentation, see isa/TREMS

AS Level 1 (SSA):

%dst = pto.trems %src, %scalar : (!pto.tile<...>, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.trems ins(%src, %scalar : !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TMAXS

For detailed instruction documentation, see isa/TMAXS

AS Level 1 (SSA):

%dst = pto.tmaxs %src, %scalar : (!pto.tile<...>, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tmaxs ins(%src, %scalar : !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TANDS

For detailed instruction documentation, see isa/TANDS

AS Level 1 (SSA):

%dst = pto.tands %src, %scalar : (!pto.tile<...>, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tands ins(%src, %scalar : !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TORS

For detailed instruction documentation, see isa/TORS

AS Level 1 (SSA):

%dst = pto.tors %src, %scalar : (!pto.tile<...>, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tors ins(%src, %scalar : !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TSHLS

For detailed instruction documentation, see isa/TSHLS

AS Level 1 (SSA):

%dst = pto.tshls %src, %scalar : (!pto.tile<...>, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tshls ins(%src, %scalar : !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TSHRS

For detailed instruction documentation, see isa/TSHRS

AS Level 1 (SSA):

%dst = pto.tshrs %src, %scalar : (!pto.tile<...>, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tshrs ins(%src, %scalar : !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TXORS

For detailed instruction documentation, see isa/TXORS

AS Level 1 (SSA):

%dst = pto.txors %src, %scalar : (!pto.tile<...>, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.txors ins(%src, %scalar : !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TLRELU

For detailed instruction documentation, see isa/TLRELU

AS Level 1 (SSA):

%dst = pto.tlrelu %src, %scalar : (!pto.tile<...>, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tlrelu ins(%src, %scalar : !pto.tile_buf<...>, dtype) outs(%dst : !pto.tile_buf<...>)

TADDSC

For detailed instruction documentation, see isa/TADDSC

AS Level 1 (SSA):

%dst = pto.taddsc %src0, %scalar, %src1 : (!pto.tile<...>, dtype, !pto.tile<...>) -> !pto.tile<...>

AS Level 2 (DPS):

pto.taddsc ins(%src0, %scalar, %src1 : !pto.tile_buf<...>, dtype, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TSUBSC

For detailed instruction documentation, see isa/TSUBSC

AS Level 1 (SSA):

%dst = pto.tsubsc %src0, %scalar, %src1 : (!pto.tile<...>, dtype, !pto.tile<...>) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tsubsc ins(%src0, %scalar, %src1 : !pto.tile_buf<...>, dtype, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TPOWS

For detailed instruction documentation, see isa/TPOWS

AS Level 1 (SSA):

%dst = pto.tpows %base, %exp, %tmp : (!pto.tile<...>, dtype, !pto.tile<...>) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tpows ins(%base, %exp, %tmp : !pto.tile_buf<...>, dtype, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 14:31:29

从源码看本质:扒一扒Java LinkedList里poll()和remove()那点事儿

从源码看本质&#xff1a;扒一扒Java LinkedList里poll()和remove()那点事儿 在Java集合框架中&#xff0c;LinkedList作为List和Deque接口的双重实现&#xff0c;其内部方法的设计哲学值得深入探讨。今天我们把显微镜对准两个看似简单却暗藏玄机的方法——poll()和remove()&am…

作者头像 李华
网站建设 2026/5/9 14:29:29

Excel AVERAGE函数底层逻辑与四大均值函数实战指南

1. 为什么AVERAGE()是Excel里最常被低估、却又最不能绕开的函数在Excel里&#xff0c;我见过太多人一上来就猛敲SUMIFS、INDEX-MATCH甚至写数组公式&#xff0c;结果连自己表格里那组销售数据的真实均值都没算对。不是他们不会用函数&#xff0c;而是没真正吃透AVERAGE()这个看…

作者头像 李华
网站建设 2026/5/9 14:25:31

人们心中的项羽

项羽人生轨迹深度解析:被“取而代”算法锁死的极致战神——一个单核处理器如何燃尽秦末天空与跨时空文化生命考 一、序言:分裂的符号——战神、暴君、或永不熄灭的少年? 在中国历史的星空中,绝大多数星辰的亮度由其位置决定——帝王位居天枢,将相环绕拱卫。但有一颗星,…

作者头像 李华
网站建设 2026/5/9 14:24:30

AI增强的Quanto期权定价:基于广义正态稳定过程与生成式路径模拟

1. 项目概述&#xff1a;当AI遇见复杂衍生品定价最近几年&#xff0c;量化金融圈里最热闹的两个话题&#xff0c;一个是生成式AI的爆发式应用&#xff0c;另一个就是如何给那些结构越来越“妖”的衍生品定个准价。我干了十几年量化交易和模型研发&#xff0c;眼看着期权产品从简…

作者头像 李华
网站建设 2026/5/9 14:22:39

基于强化学习的量子热机反馈控制:DDPG算法实现与优化

1. 项目概述&#xff1a;当量子热机遇见麦克斯韦妖最近在整理实验室的旧项目时&#xff0c;翻到了一个几年前我们团队在量子热力学与机器学习交叉领域做的一个探索性工作。这个项目的核心&#xff0c;是把强化学习这个“智能体”扔进量子热机的微观世界里&#xff0c;让它去扮演…

作者头像 李华
网站建设 2026/5/9 14:15:51

CANN内核编写指南

Kernel Authoring Playbook 【免费下载链接】cannbot-skills CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体&#xff0c;本仓库为其提供可复用的 Skills 模块。 项目地址: https://gitcode.com/cann/cannbot-skills Use this playbook when writing a new ke…

作者头像 李华