关键词:
GPU
流处理器内并行性
吞吐提升
运行时系统
摘要:
为了应对越来越高的算力需求, GPU在流处理器内集成了多种通用计算单元及专用计算单元(FP32 Core, INT32 Core, FP64 Core, Tensor Core, RT Core).任意一种GPU内可能包含以上计算单元中的部分单元.尽管GPU的流处理器内存在着多种计算单元,它们之间的计算并行性无法从硬件设计白皮书中获知.与此同时,现有调度接口无法支持使用不同计算单元的核函数并行利用这些计算资源,更无法支持运行时的精细调度以最大化系统吞吐.面对以上问题,我们提出了硬件感知吞吐导向的核函数调度方法 Hato. Hato首先设计了一个硬件并行性感知工具,支持为任意GPU定位出所有的流处理器内并行性.其次, Hato提出了一个核函数混跑建模方法,通过核函数混跑利用到流处理器内并行性,并支持核函数在混跑情况下的执行时间精准预测.最后, Hato提出了一个吞吐导向的调度策略,支持在保证延迟敏感型应用服务质量的同时,利用到所有可能的流处理器内并行性,以最大化整体系统吞吐.实验结果表明, Hato相比最新调度系统Tacker提升了平均19.2%,最高54.1%的系统吞吐.