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

CANN/pyasc核心张量操作API

【免费下载链接】pyasc本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc

asc.language.core

GlobalTensor

classasc.language.core.GlobalTensor(handle: Value)

GlobalTensor用来存放Global Memory(外部存储)的全局数据。 GlobalTensor public成员函数如下。类型T支持基础数据类型以及TensorTrait类型,但需要遵循使用此GlobalTensor的指令的数据类型支持情况。

GlobalTensor.get_phy_addr获取全局数据的地址。
GlobalTensor.get_shape_info获取GlobalTensor的shape信息。注意:Shape信息没有默认值,只有通过SetShapeInfo设置过Shape信息后,才可以调用该接口获取正确的ShapeInfo。
GlobalTensor.get_size获取GlobalTensor的元素个数。
GlobalTensor.get_value获取GlobalTensor的相应偏移位置的值。
GlobalTensor.set_global_buffer传入全局数据地址,初始化GlobalTensor。
GlobalTensor.set_l2_cache_hint设置GlobalTensor是否使能L2 Cache,默认使能L2 Cache。
GlobalTensor.set_shape_info设置GlobalTensor的shape信息。
GlobalTensor.set_value设置GlobalTensor相应偏移位置的值。

LocalMemAllocator

classasc.language.core.LocalMemAllocator(hard: Hardware = Hardware.UB)

LocalMemAllocator是在使用Ascend C静态Tensor编程方式时用于内存管理的类,用户无需构建TPipe/TQue, 而是直接创建LocalTensor对象并开发算子,从而减少运行时的开销,实现更优的性能。

LocalMemAllocator仅支持在Ascend C静态Tensor编程方式中使用,不可以与TPipe等接口混用。

LocalMemAllocator.alloc根据用户指定的逻辑位置、数据类型、数据长度返回对应的 LocalTensor 对象。
LocalMemAllocator.get_cur_addr返回当前物理位置空闲的起始地址。

LocalTensor

classasc.language.core.LocalTensor

classasc.language.core.LocalTensor(dtype: DataType)

classasc.language.core.LocalTensor(dtype: DataType, addr: int)

classasc.language.core.LocalTensor(dtype: DataType, pos: TPosition | None = TPosition.VECIN, addr: int = 0, tile_size: int = 0)

classasc.language.core.LocalTensor(handle: Value, dtype: DataType, shape: TensorShape)

LocalTensor用于存放AI Core中Local Memory(内部存储)的数据,支持逻辑位置TPosition为VECIN、VECOUT、VECCALC、A1、A2、B1、B2、CO1、CO2。

LocalTensor.get_length获取LocalTensor数据长度。
LocalTensor.get_phy_addr返回LocalTensor的地址或指定偏移量后的地址。
LocalTensor.get_position获取LocalTensor所在的TPosition逻辑位置,支持TPosition为VECIN、VECOUT、VECCALC、A1、A2、B1、B2、CO1、CO2。
LocalTensor.get_shape_info获取LocalTensor的Shape信息。注意:Shape信息没有默认值,只有通过SetShapeInfo设置过Shape信息后,才可以调用该接口获取正确的Shape信息。
LocalTensor.get_size获取当前LocalTensor Size大小。
LocalTensor.get_user_tag获取指定Tensor块的Tag信息,用户可以根据Tag信息对Tensor进行不同操作。
LocalTensor.get_value获取LocalTensor指定索引的数值。 该接口仅在LocalTensor的TPosition为VECIN/VECCALC/VECOUT时支持。
LocalTensor.reinterpret_cast将当前Tensor重解释为用户指定的新类型,转换后的Tensor与原Tensor地址及内容完全相同,Tensor的大小(字节数)保持不变。
LocalTensor.set_addr_with_offset设置带有偏移的Tensor地址。用于快速获取定义一个Tensor,同时指定新Tensor相对于旧Tensor首地址的偏移。偏移的长度为旧Tensor的元素个数。
LocalTensor.set_buffer_len设置Buffer长度。当用户调用operator[]函数创建新LocalTensor时,建议调用该接口设置新LocalTensor长度,便于编译器对内存及同步进行自动优化。
LocalTensor.set_shape_info设置LocalTensor的Shape信息。
LocalTensor.set_size设置当前LocalTensor Size大小。单位为元素。当用户重用local tensor变量且使用长度发生变化的时候,需要使用此接口重新设置Size。
LocalTensor.set_user_tag为Tensor添加用户自定义信息,用户可以根据需要设置对应的Tag。后续可通过GetUserTag获取指定Tensor的Tag信息,并根据Tag信息对Tensor进行相应操作。
LocalTensor.set_value设置LocalTensor中的某个值。 该接口仅在LocalTensor的TPosition为VECIN/VECCALC/VECOUT时支持。

ShapeInfo

classasc.language.core.ShapeInfo

classasc.language.core.ShapeInfo(shape: Array, original_shape: Array | None = None, data_format: DataFormat = DataFormat.ND)

classasc.language.core.ShapeInfo(handle: Value)

ShapeInfo用来存放LocalTensor或GlobalTensor的shape信息。

get_shape_size获取Shape中所有dim的累乘结果

【免费下载链接】pyasc本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc

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

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

相关文章:

  • 2026年4月行业内有名的酒店装修设计设计师推荐,侘寂民宿/星级酒店/江景酒店/景区酒店,酒店装修设计改造找哪家 - 品牌推荐师
  • 2026就业寒冬?这10个AI高薪岗位抢人大战一触即发,最高年薪300万!普通人也能抓住风口?
  • 如何快速掌握B站视频转文字工具:新手的终极实战指南
  • 基于MCP协议的LinkedIn数据连接器:AI自动化招聘与市场分析实战
  • ChatGLM2-6B全面解析:从FlashAttention到量化部署的本地大模型实践
  • 我发现深度神经网络DNN推理图片高度300也能正常运转
  • CANN/ops-cv三点插值反向算子
  • 基于MCP协议实现Mac消息AI自动化:原理、部署与安全实践
  • 分布式任务调度平台Idun-Agent-Platform:从架构设计到生产部署实战
  • KrkrzExtract终极指南:新一代krkrz引擎资源解包工具深度解析
  • GE 静态执行器特性分析
  • 从java改C++后速度变化记录
  • AI智能体3D可视化监控:用Phaser构建等距办公室视图
  • CANN/AMCT基于精度自动校准API
  • CANN/shmem原理与架构详解
  • Godot游戏开发实战:从节点系统到高级架构的模块化教程指南
  • 基于PHP 8.4+与原生JS的现代电商引擎eMarket架构解析与实战
  • Slipbot:基于AI Agent的自动化个人知识库管理框架
  • CANN驱动获取设备CPU频率信息
  • 基因数据交易模拟平台:用金融市场模型探索基因组学动态分析
  • CANN/pto-isa P2P指令详解
  • 对比自行维护API中转与使用Taotoken在稳定性上的体感差异
  • 机器学习求解偏微分方程:算子学习与物理信息神经网络全解析
  • AI成本管理利器tokencost:精准计算与监控LLM应用开销
  • Dokploy MCP:基于Docker Compose与MCP协议的轻量级自托管部署平台
  • 小红书自动化发布技术解析:从浏览器模拟到风控对抗
  • GPU加速向量搜索:cuvs库原理、实战与性能调优指南
  • Agent Skills:让 AI 编码像高级工程师一样工作(37,222 Stars)
  • 从原型到生产:构建企业级LangChain应用的核心挑战与实战指南
  • 2026年质量好的番禺旧房翻新改造装修公司/番禺一站式整装装修公司哪家正规 - 品牌宣传支持者