当前位置: 首页 > news >正文

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),仅供参考

http://www.jsqmd.com/news/783016/

相关文章:

  • CANN/ops-blas Cdot算子实现
  • 科技与科学新闻摘要-2026年5月9日
  • AI写PPT的流程
  • WeChatPad技术揭秘:如何让您的安卓手机同时登录两个微信账号?
  • 3D UNet、VNet与HighResNet在胎儿fMRI脑区分割中的对比研究
  • Ascend TensorFlow混合计算
  • 医疗AI系统风险缓解:从数据质量到临床双检的功能设计
  • CANN融合算子库实现
  • 自贡一站式家装怎么选?2026年整装品牌深度测评与老房翻新改造方案 - 优质企业观察收录
  • CANN运行时溢出检测示例
  • AI如何突破人文学科认知局限:数字人文的实践路径与技术解析
  • 三国游戏BT服无限元宝GM版
  • 5分钟快速上手:抖音批量下载工具完全使用指南
  • CANN/cann-bench MoE门控算子
  • 需求感知AI:从理解人类深层需求到构建可持续智能系统
  • 数学专业书籍推荐1:数学分析的两本经典习题书
  • SpringBootApplication注解说明
  • CANN/AMCT创建量化感知训练模型
  • 解决claude code访问不稳定问题通过taotoken配置anthropic兼容通道
  • CANN电力预测ReduceAll算子操作手册
  • CANN/ascend-transformer-boost多潜在注意力算子演示
  • 怎样高效使用网盘直链下载助手:实用技巧完整指南
  • CANN/pto-isa轴归约与扩展操作
  • 2026年4月水蜡实力厂家如何选,高压洗车机/全自动智能洗车设备/全自动高压洗车机/无接触洗车机,水蜡制造企业推荐 - 品牌推荐师
  • “9秒删库”事件刷屏!AI是凶手,但枪是你自己递的
  • HarmonyOS 6 ArkUI 粒子动画(Particle)动态发射器控制使用文档
  • MRAM技术解析:非易失性存储器的原理与应用
  • CANN/asc-devkit内存分配API文档
  • CANN/AMCT Quantile量化
  • Hermes Agent工具链接入Taotoken聚合API的配置指南