news 2026/5/9 12:42:34

PyPTO分布式共享内存加载

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PyPTO分布式共享内存加载

pypto.distributed.shmem_load

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

产品支持情况

产品是否支持
Atlas A3 推理系列产品
Atlas A2 推理系列产品

功能说明

从输入的 shared memory tensor 中取出部分视图到本地。

函数原型

shmem_load( src: ShmemTensor, src_pe: Union[int, SymbolicScalar], shape: list[int] = None, offsets: list[Union[int, SymbolicScalar]] = None, *, pred: list[Tensor] = None, valid_shape: Optional[list[Union[int, SymbolicScalar]]] = None, ) -> Tensor

参数说明

参数名输入/输出说明
src输入源操作数,一个 shared memory tensor。
src_pe输入shared memory tensor 所属的 pe。
支持的数据类型为 int 或 SymbolicScalar 类型。
0 <= src_pe < n_pes。
shape输入需要获取的视图大小。
参数类型为 list[int] 类型。
offsets输入需要获取的视图偏移量。
支持 int 或 SymbolicScalar 类型的列表。
offsets 的维度应与 src 的维度一致,且每个维度的偏移量值应小于 src 对应维度的大小。
pred输入用于控制操作执行的依赖关系张量列表。
对数据类型无要求。
不支持空 Tensor。
valid_shape输入用于指定需要获取的有效数据大小。
需要保证 valid_shape 小于 shape。

返回值说明

返回一个与 src 数据类型和形状相同的 Tensor。

约束说明

  1. shmem_load 通常在 shmem_wait_until 之后执行,以保证要获取的数据已经写入到了目标地址上。在 shmem_wait_until 切块数据大于1的场景下,shmem_load 需要与其保持相同的切块配置,以便两者能够形成更优的流水排布,并保证精度正常。

调用示例

TileShape 设置示例

说明:调用该接口前,应通过 set_vec_tile_shapes 设置 TileShape。TileShape 维度应和输出一致。

  • 示例 1:输入的 shape 为 [m, n],输出的 shape 为 [m, n],TileShape设置为 [m1, n1],则 m1,n1 分别用于切分 m,n 轴。

    pypto.set_vec_tile_shapes(4, 8)

接口调用示例

  • 示例 1:从 pe = 1 的 shared memory tensor 的全部视图中获取数据并输出该数据,对应的输出数据 shape 为 [128, 256]。

    shmem_tensor = pypto.distributed.create_shmem_tensor(group_name="tp", n_pes=8, dtype=pypto.DT_FP16, shape=[128, 256]) pypto.set_vec_tile_shapes(128, 256) load_out = pypto.experimental.shmem_load( src=shmem_tensor, src_pe=1, pred=predToken, )
  • 示例 2:从 pe = 1 的 shared memory tensor 的部分视图中获取数据并输出该数据。该部分视图的 shape 为 [128, 128],offset 为 [0, 0],对应的输出数据 shape 为 [128, 128],实际获取的数据有效大小为 [128, 64]。

    shmem_tensor = pypto.distributed.create_shmem_tensor(group_name="tp", n_pes=8, dtype=pypto.DT_FP16, shape=[128, 256]) pypto.set_vec_tile_shapes(128, 256) load_out = pypto.experimental.shmem_load( src=shmem_tensor, src_pe=1, shape=[128, 128], offsets=[0, 0], pred=predToken, valid_shape=[128, 64], )

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

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

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

CANN/ge ES 模块所有权关系反转分析

ES 模块所有权关系反转分析 【免费下载链接】ge GE&#xff08;Graph Engine&#xff09;是面向昇腾的图编译器和执行器&#xff0c;提供了计算图优化、多流并行、内存复用和模型下沉等技术手段&#xff0c;加速模型执行效率&#xff0c;减少模型内存占用。 GE 提供对 PyTorch、…

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

需求感知AI:从理解人类深层需求到构建可持续智能系统

1. 项目概述&#xff1a;当AI开始思考“你需要什么”“我需要一杯咖啡。”这是我们日常生活中再普通不过的一句话。但你是否想过&#xff0c;当这句话被一个AI系统“听到”并试图响应时&#xff0c;背后会引发怎样一连串复杂的技术决策与伦理考量&#xff1f;咖啡是“需要”吗&…

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

CANN/cann-bench脚本工具指南

Scripts 【免费下载链接】cann-bench 评测AI在处理CANN领域代码任务的能力&#xff0c;涵盖算子生成、算子优化等领域&#xff0c;支撑模型选型、训练效果评估&#xff0c;统一量化评估标准&#xff0c;识别Agent能力短板&#xff0c;构建CANN领域评测平台&#xff0c;推动AI能…

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

【AI应用】一键部署OpenClaw(龙虾)

介绍 龙虾&#xff0c;也就是OpenClaw&#xff0c;是目前非常火的自主式AI Agent平台&#xff0c;是一个能7x24小时随时待命的自主式AI助理&#xff0c;你可以通过微信或飞书随时向它派发任务。它不仅记得你之前聊过的所有内容&#xff0c;还能跨平台管理你的对话与信息&#…

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

后端开发中的测试策略:确保代码质量与稳定性

在软件开发的整个生命周期中&#xff0c;测试扮演着至关重要的角色&#xff0c;尤其是在后端开发领域。随着系统复杂度的不断上升&#xff0c;确保代码质量与稳定性已成为后端工程师不可忽视的责任。一个稳健的测试策略不仅能提前发现潜在缺陷&#xff0c;还能提升开发效率&…

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

CANN/asc-devkit AllocTensor API

AllocTensor 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.co…

作者头像 李华