拓冰建站拓冰建站
首页 / 资讯中心 / 正文

第7章:GPU Scheduler 分析:7.5 drm_sched_fence — 双 Fence 语义详解

GPU Scheduler 是 dma-fence 的重要消费者,可以作为一个重要的应用场景来理解。1. 为什么需要两个 Fence在第六章(dma-fence)中我们知道,dma_fence是 GPU 异步操作的完成信号。一个直觉的设计是:每个 job 一个 fence,硬件完成时信号。但 GPU scheduler 引入了一个中间状态:job 被调度器选中并发射到硬件(run_job()),与 job 在硬件上真正执行完毕,是两个不同的时间点。时间线: ──push──────────────run_job()──────────────hw完成──────→ │ │ ▼ ▼ scheduled fence finished fence (已进入硬件队列) (硬件执行完毕)如果只有一个 fence(finished),那么依赖 job A 的 job B 必须等到 A 在硬件上执行完毕才能被发射。但实际上,一旦 A 已经进入硬件 ring,B 紧随其后进入同一 ring 是完全安全的——硬件 ring 本身保
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门