技术特征:
1.一种调度器,包括:空闲信号量的集合,就绪信号量的集合,以及硬件电路,其可操作地耦合到所述空闲信号量的集合和所述就绪信号量的集合,其被配置为响应于保留资源并在所述资源被释放时改变空闲信号量,其中,所述调度器响应于所述空闲信号量和所述就绪信号量的值启动任务。2.根据权利要求1所述的调度器,其中所述空闲信号量和所述就绪信号量包括计数器。3.根据权利要求1所述的调度器,其中所述调度器在所述空闲信号量和所述就绪信号量中的每一个为非零时启动所述任务。4.根据权利要求1所述的调度器,其中所述调度器与管理所述资源的软件定义的数据编组协作。5.根据权利要求1所述的调度器,其中所述硬件电路响应于针对任务保留所述资源而减少所述空闲信号量,而所述任务在释放所保留的资源时增加所述空闲信号量。6.根据权利要求1所述的调度器,其中所述资源用于在图形中的连续任务之间传递数据。7.根据权利要求1所述的调度器,其中所述信号量表示存储器缓冲区中可用空间的可用性或由网络中的数据流或待处理工作项的存在所引起的高速缓存压力量。8.根据权利要求1所述的调度器,其中所述硬件电路在启动时分配资源,以确保线程块能够运行到完成。9.根据权利要求1所述的调度器,其中所述硬件电路不会随着来自同一任务/节点的工作项数量或并发执行的线程组的数量而扩展或增长。10.根据权利要求1所述的调度器,其中所述硬件电路监控芯片中施加的资源约束,以最小化通信瞬态数据所需的片外存储器带宽的量。11.根据权利要求1所述的调度器,其中所述硬件电路通过监视关联高速缓存的高速缓存线的保留来管理外部存储器分配。12.根据权利要求11所述的调度器,其中所述高速缓存被配置为捕获计算阶段之间的数据流,而无需将所述数据流写入外部存储器。13.根据权利要求1所述的调度器,其中所述调度器通过不批量同步来实现细粒度同步。14.在包括软件的gpu中,所述软件执行指令以通过资源编组数据,硬件调度程序,其响应于使用空闲信号量和就绪信号量监控所述资源的占用,自动启动图形的节点。15.根据权利要求14所述的硬件调度器,还包括硬件比较器,其将所述空闲信号量和所述就绪信号量与预定值进行比较。16.根据权利要求15所述的硬件调度器,其中所述预定值为零。17.根据权利要求14所述的硬件调度器,其中所述资源包括片上高速缓存。18.一种gpu调度方法,包括:(a)从空闲信号量中减去,从而为要启动的任务保留资源。(b)当使用保留的资源完成所述任务时,以编程方式添加到所述空闲信号量和/或所述
就绪信号量,以及(c)响应于测试所述空闲信号量和所述就绪信号量,针对另一个任务保留所述资源。19.根据权利要求18所述的gpu调度方法,包括在硬件中执行(a)
‑
(c)。
技术总结
本技术增强了GPU计算模型,以提供图形管线的系统提供的数据编组特性,从而提高效率并减少开销。基于标量计数器(例如信号量)的简单调度模型抽象了硬件资源的可用性。资源释放可以通过编程方式完成,系统调度器只需跟踪此类计数器/信号量的状态即可做出工作启动决策。计数器/信号量的语义由应用程序定义,应用程序可以使用计数器/信号量来表示存储器缓冲区中可用空间的可用性、网络中数据流引起的高速缓存压力量或待处理工作项的存在。缓存压力量或待处理工作项的存在。缓存压力量或待处理工作项的存在。
技术研发人员:Y
受保护的技术使用者:辉达公司
技术研发日:2021.03.17
技术公布日:2021/12/30