推荐场景GPU优化的探索与实践:CUDA Graph与多流并行的比较与分析
出处:
mp.weixin.qq.com
作者:
董纪莹
RTP 系统(即 Rank Service),是一个面向搜索和推荐的 ranking 需求,支持多种模型的在线 inference 服务。在过去的几年里,我们对于RTP业务的GPU性能优化已经做了不少尝试,包括kernel fusion,CUDA Graph等。在此基础上,今年我们又在RTP上集成了Multi Stream[01],改变了TensorFlow的单流机制,让多流的执行并行,作为增加GPU并行度的另一种选择。 RTP执行的backend是TensorFlow。TensorFlow作为调度算子的框架应用在推荐业务的推理场景中,对GPU是比较不友好的。这是因为TensorFlow总是倾向于用大量的operator构建一个graph,每个operator在GPU上又会调用一个或者多个kernel;而同时,TensorFlow本身是一个单流模型,在一个进程内只有一个Stream group(包含一个Compute Stream,一个H2D Stream,一个D2H Stream和一个D2D Stream),kernel间的执行很难并行,可以说调度的效率是偏低的。