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

11. 命令缓冲区和DMA

1.命令缓冲区和DMA


1.命令缓冲区和DMA

两者是"协作关系"—— CPU先把"数据上传指令"写入命令缓冲区,GPU执行指令时,底层通过DMA完成实际的数据拷贝 a.命令缓冲区-本质:CPU写给GPU的"指令清单"(内存块)-类比:你填的"快递单"(写清楚:要寄什么、寄到哪、怎么寄)b.DMA(直接内存访问)-本质:硬件级别的"数据搬运工"(独立于CPU)-类比:快递员(专门负责搬东西,不用你自己动手)
以CPU把顶点数据上传到GPU显存为例: a.CPU准备数据:把顶点数组(比如:Vector3[]坐标)整理好,存在CPU内存的连续区域 b.CPU写入命令缓冲区:CPU不会直接搬数据,而是往「命令缓冲区」里写入一条"数据上传指令",指令内容包括:-源地址:CPU内存中顶点数据的起始地址-目标地址:GPU 显存中 VBO 的起始地址-数据长度:要搬运的字节数(比如:1000个顶点 ×12字节/顶点=12000字节)-操作类型:从CPU内存拷贝到GPU显存 c.CPU提交命令缓冲区:CPU把写满指令的命令缓冲区提交给GPU的命令处理器 d.GPU解析指令,触发DMA:GPU读取命令缓冲区里的"数据上传指令",不会自己搬数据,而是通知DMA控制器执行搬运 e.DMA完成实际拷贝:DMA控制器直接访问CPU内存和GPU显存,把顶点数据从CPU内存拷贝到GPU显存的VBO中——这个过程不需 要CPU参与,CPU可以去做其他事(比如处理逻辑、准备下一批指令)f.DMA通知GPU完成:数据拷贝完成后,DMA向GPU发送"完成信号",GPU就可以用这个VBO进行渲染了
http://www.cnnetsun.cn/news/636562.html

相关文章:

  • django基于python的美食探店分享网站设计与实现
  • [原创]基于CCO-ELM多输出回归+SHAP可解释性分析 Matlab代码(多输入多输出)
  • 线程池简单源码思路手撕实现和关于参数设置
  • GEE初学:谷歌地球引擎GEE入门指南(最新注册全流程)
  • .Net 中的 ActivatorUtilitiesConstructor 特性
  • 什么是SR-MPLS
  • 救命神器10个一键生成论文工具,专科生毕业论文轻松搞定!
  • gru 记忆是记当前episode的内容吗
  • 全网最全本科生必用TOP10 AI论文网站测评
  • django基于python的旅游服务管理系统
  • 653653
  • 人行道检测数据集介绍-3819张图片 智慧城市管理 自动驾驶辅助系统 无障碍导航应用 城市规划与设计 智能监控系统 移动机器人导航
  • 还在为高AI率烦恼?6款亲测有效的降AI工具推荐,手把手教你ai率轻松降到10%以下
  • 大数据脱敏与数据匿名化的区别与联系
  • 【毕业设计】基于python-CNN深度学习卷神经网络的常见中草药识别
  • 【毕业设计】基于python-CNN深度学习的水稻是否伏倒识别
  • Java毕设项目推荐-基于java的车辆违章信息管理系统的设计与实现基于JavaEE的车辆违章信息管理系统的设计与实现【附源码+文档,调试定制服务】
  • 深度学习毕设项目推荐-基于python-pytorch训练识别舌头是否健康
  • 亲测好用9个AI论文工具,继续教育学生轻松写论文!
  • 深度学习计算机毕设之基于python深度学习人工智能的道路车辆内有无佩戴安全带识别
  • 【C++入门】编译期的代码义体植入——【inline内联函数】(宏定义的面试考点)(C++分文件编写的知识点)
  • Java毕设项目推荐-基于SpringBoot+Vue的旅游管理系统涵盖旅游攻略、酒店、美食、景点等管理功能【附源码+文档,调试定制服务】
  • 计算机Java毕设实战-基于SpringBoot的养老服务平台设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • vue基于python的宠物领养付费系统
  • 什么是SPFC
  • UNC团队“零数据“突破:AI智能体从无到有自我进化的奇迹
  • 港中大联合研究揭示:AI视觉语言模型存在严重安全漏洞
  • atl90.dll文件丢失找不到怎么办? 免费下载方法分享
  • 大数据领域MongoDB的集群搭建与管理指南
  • 【毕业设计】基于Springboot的体育赛事视频管理系统(源码+文档+远程调试,全bao定制等)