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

CANN/asc-devkit:SIMD-API核内同步Mutex锁

Lock【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品 / Atlas A3 推理系列产品xAtlas A2 训练系列产品 / Atlas A2 推理系列产品xAtlas 200I/500 A2 推理产品xAtlas 推理系列产品 AI CorexAtlas 推理系列产品 Vector CorexAtlas 训练系列产品x功能说明根据MutexID获取Mutex并阻塞当前流水指令队列直到对应的MutexID被Unlock。函数原型template pipe_t pipe static __aicore__ inline void Lock(MutexID id)参数说明表 1模板参数说明参数名描述pipe模板参数表示流水类别。支持的流水参考硬件流水类型。表 2参数说明参数名输入/输出描述id输入进行流水同步管理的MutexID。该id可通过用户自定义范围为0-27或者通过AllocMutexID/ReleaseMutexID进行申请释放。返回值说明无约束说明用户在使用Lock/Unlock时且自定义MutexID情况时禁止同时使用TQue、TQueBind、TBufPool中的相关接口。对于同一个MutexID必须按照Lock/Unlock配套使用且指定的pipe也需相同即当且只有完成一个流水的Lock/Unlock之后才能进行其余流水的操作。相同流水之间存在数据依赖的场景这种情况建议使用PipeBarrier.md)接口。调用示例完整算子样例参考Mutex样例。// 锁定 MTE2 流水线互斥锁确保当前线程独占 MTE2 资源进行数据搬运 AscendC::Mutex::LockPIPE_MTE2(mutexId); AscendC::DataCopy(xLocal, src0Global[TILE_LENGTH * progress], TILE_LENGTH); AscendC::DataCopy(yLocal, src1Global[TILE_LENGTH * progress], TILE_LENGTH); // 解锁 MTE2 流水线允许其他线程使用 MTE2 AscendC::Mutex::UnlockPIPE_MTE2(mutexId); // 锁定 Vector 流水线互斥锁确保当前线程独占向量计算资源 AscendC::Mutex::LockPIPE_V(mutexId); AscendC::Add(zLocal, xLocal, yLocal, TILE_LENGTH); // 解锁 Vector 流水线释放计算资源供其他线程使用 AscendC::Mutex::UnlockPIPE_V(mutexId);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
http://www.gsyq.cn/news/1329004.html

相关文章:

  • AWBus-lite:嵌入式轻量级软件总线与拓扑感知通信架构实践
  • 保姆级教程:在Ubuntu 20.04上从源码编译PX4固件,并用Gazebo跑通你的第一个仿真
  • 保姆级教程:在Ubuntu 20.04上从零跑通VoxelNet(KITTI数据集+TensorFlow 1.14)
  • 从芯片手册到CubeMX:手把手教你搞定STM32G431RBT6的时钟树与中断配置
  • 如何免费解锁Cursor AI Pro功能:开源工具完全指南
  • CANN/asc-devkit 切片数据搬运
  • 暗黑破坏神2存档编辑器的5个核心问题与完美解决方案
  • 3分钟学会:B站视频下载神器BiliDownload终极使用指南
  • PlatformIO国内安装避坑全记录:解决Python环境、pip换源与网络下载慢的问题
  • 打破Mac与Windows的存储壁垒:Free-NTFS-for-Mac完整读写指南
  • LumenPnP开源贴片机:从DIY到小批量生产的完整技术方案
  • 终极Windows和Office激活指南:KMS智能激活工具三步永久激活方案
  • 如何在浏览器中实现音乐文件格式转换与本地解密:Unlock Music完整指南
  • TrollInstallerX终极指南:3分钟解决iOS 14-16.6.1设备TrollStore安装难题
  • AMD Ryzen终极调试工具:免费开源硬件调优完全指南
  • 无王无帝定乾坤,来自田间第一人:凰标永存昭后世
  • KDiff3文件比较与合并工具:从新手到高手的完整指南
  • 别再乱设时钟裕量了!手把手教你用set_clock_uncertainty搞定DC/PT时序收敛
  • CANN/hccl参数面建链阶段故障诊断
  • 【HarmonyOS 6.1 全场景实战】《灵犀厨房》实战(十七):【语音识别】免提声控启动播报——动口不动手
  • CANN/asc-devkit HCCL批量写入接口
  • 终极知识管理模板:快速搭建你的Obsidian笔记系统
  • Python开发者三步完成Taotoken接入并调用多模型
  • Linux串口编程进阶:深入termios2结构体,搞定CH340/FTDI各种转接器的非标准波特率
  • setup-java企业级实践:大型项目的依赖缓存和版本矩阵测试
  • 告别‘听完再说’:聊聊LAS语音识别模型为啥不能实时转文字,以及现在有啥新方案
  • 5分钟掌握Unlock Music:浏览器音乐解密转换终极指南
  • 如何在Windows电脑上轻松安装安卓应用:APK-Installer终极指南
  • elec-ops-simulation实战教程:5步实现电网稳态运行仿真
  • 天津大学LaTeX论文模板终极指南:告别格式困扰,专注学术创作