我正在使用NVIDIA CUDA 多进程服务 (MPS)使用同一 GPU 运行多个 TensorFlow 推理作业。对于我的用例,当 GPU 被多个进程共享时,我有时需要优先执行一个进程的内核而不是另一个。这支持吗?
为了更详细地解释这个问题,考虑一个示例,其中我们有两个进程 p1 和 p2(每个进程只有一个内核执行流)共享一个 GPU。
场景:当 p1 和 p2 的就绪队列中有一个或多个内核时。
默认 MPS 行为(我的理解):
如果有足够的资源,从 p1 和 p2 同时执行多个内核。
期望的行为: 能够根据优先级做出决定,如果:
- 先执行 p1 的内核,然后执行 p2。
- 先执行 p2 的内核,然后执行 p1。
- 如果有足够的资源,从 p1 和 p2 同时执行多个内核。
如果不支持这种自定义调度,如果有人可以指导需要哪些代码更改才能使其工作,那就太好了。