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

Does cudaDeviceSynchronize() stop working when there are other jobs running on the gpu?

GPU 上有作业 运行ning,如果我 运行 另一个代码在它上面,代码会在 cudaDeviceSynchronize() 点停止。为什么会这样?

目前在给定时间点只允许一个进程使用 GPU。如果“'job'”在 GPU 中运行数小时,则没有公平或量子来杀死它。基本用法是先到先得。

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

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