当gpu上运行其他作业时,cudaDeviceSynchronize()是否停止工作?

时间:2015-06-30 12:17:39

标签: cuda

GPU上正在运行作业,如果我在其上运行另一个代码,则代码在cudaDeviceSynchronize()处停止。为什么会这样?

1 个答案:

答案 0 :(得分:1)

目前只允许一个进程在给定时间点使用GPU。如果它在GPU中运行了几个小时,就没有公平性或量级来杀死“工作”。基本用法是先到先得。

但您可以使用CUDA多进程服务(MPS)。它基本上允许多个进程共享一个gpu

https://docs.nvidia.com/deploy/pdf/CUDA_Multi_Process_Service_Overview.pdf