news 2026/5/9 12:11:34

CANN/pypto张量维度重排列操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/pypto张量维度重排列操作

pypto.permute

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

产品支持情况

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

功能说明

返回一个Tensor,该Tensor是输入Tensor的转置版本。根据指定的维度顺序重新排列输入张量的维度,该算子不改变张量中元素的总数和内容,只改变维度的排列方式。

函数原型

permute(input: Tensor, const std::vector<int> &perm) -> Tensor

参数说明

参数名输入/输出说明
input输入源操作数。
支持的类型为:Tensor。
Tensor支持的数据类型为:DT_FP16,DT_BF16,DT_INT16,DT_UINT16,DT_FP32,DT_INT32,DT_UINT32。
不支持空Tensor;Shape仅支持1-5维;Shape Size不大于2147483647(即INT32_MAX)。
算子对不同 Shape 支持不同,详见约束说明。
perm输入维度顺序列表。必须是一个包含所有维度索引的排列,长度与输入张量的维度数相同。每个维度索引在 0 到 ShapeSize-1 范围内且不重复。

返回值说明

返回一个与输入数据类型一致的Tensor,其维度顺序按照 perm 指定的顺序重新排列。

调用示例

TileShape设置示例

调用该operation接口前,应通过 set_vec_tile_shapes 设置TileShape。TileShape的维度应与输入input一致。

示例:输入input shape为 [2, 3, 4],目标排列为 [2, 0, 1],TileShape可设置为 [2, 3, 4] 或根据切分需求设置合适的值。

pypto.set_vec_tile_shapes(2, 3, 4)

接口调用示例

x = pypto.tensor([1, 2, 3, 4], pypto.DT_FP32) perm = [3, 1, 0, 2] y = pypto.permute(x, perm)

结果示例如下:

输入数据x: [[[[ 0.9586, -0.4325, 0.7582, -2.6209], [ 1.0931, -0.3324, -2.3653, -0.0324], [ 1.6083, 1.3619, -0.1481, 0.4394]], [[ 0.2353, -0.7177, -0.4954, 0.4158], [-0.9788, -1.4224, 0.2558, 1.5322], [-0.6645, 2.1023, 0.8968, 0.8690]]]], 输出数据y: [[[[ 0.9586, 1.0931, 1.6083]], [[ 0.2353, -0.9788, -0.6645]]], [[[-0.4325, -0.3324, 1.3619]], [[-0.7177, -1.4224, 2.1023]]], [[[ 0.7582, -2.3653, -0.1481]], [[-0.4954, 0.2558, 0.8968]]], [[[-2.6209, -0.0324, 0.4394]], [[ 0.4158, 1.5322, 0.8690]]]]

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

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

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

Arm Neoverse V2处理器指令异常与性能优化解析

1. Arm Neoverse V2处理器指令异常深度解析在现代处理器架构设计中&#xff0c;指令执行异常是工程师们必须面对的挑战之一。Arm Neoverse V2作为面向基础设施的高性能处理器&#xff0c;其微架构设计在追求极致性能的同时&#xff0c;也不可避免地会遇到各种边界条件下的执行异…

作者头像 李华
网站建设 2026/5/9 12:09:32

15.开源社区的微光

周六上午十点&#xff0c;陈远站在西二旗一家共享办公空间的玻璃门外&#xff0c;手里攥着手机&#xff0c;屏幕上显示着一条确认短信&#xff1a;“陈远先生&#xff0c;您预约的‘开发者社区技术沙龙’座位已保留&#xff0c;地址&#xff1a;海淀区西二旗X号X座3层。时间&am…

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

CANN竞赛Add算子测试报告

【免费下载链接】cann-competitions 本仓库用于 CANN 开源社区各类竞赛、开源课题、社区任务等课题发布、开发者作品提交和展示。 项目地址: https://gitcode.com/cann/cann-competitions 元信息&#xff08;请如实填写&#xff0c;此区块将由组委会脚本自动解析&#xf…

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

CANN堆叠算子接口文档

aclnnStack 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math &#x1f4c4; 查看源码 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列…

作者头像 李华
网站建设 2026/5/9 11:59:37

IEDM观察:从空气间隙到FinFET,半导体存储与逻辑工艺演进解析

1. 从远方看IEDM&#xff1a;一场半导体技术盛宴的场外观察又到了一年的这个时候&#xff0c;窗外是渥太华凛冽的风雪&#xff0c;而我却与旧金山的热闹盛会——IEEE国际电子器件会议&#xff08;IEDM&#xff09;——相隔千里。作为一名长期关注半导体行业动态的从业者&#x…

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

CANN算子测试广州大学团队提交

团队信息 【免费下载链接】cann-competitions 本仓库用于 CANN 开源社区各类竞赛、开源课题、社区任务等课题发布、开发者作品提交和展示。 项目地址: https://gitcode.com/cann/cann-competitions 团队名称&#xff1a;哈基米555所属单位&#xff1a;广州大学团队成员&…

作者头像 李华