-2
GPU上有一些作業正在運行,如果我在其上運行另一個代碼,則代碼停止在cudaDeviceSynchronize()點。爲什麼會發生?當gpu上有其他作業運行時,cudaDeviceSynchronize()會停止工作嗎?
GPU上有一些作業正在運行,如果我在其上運行另一個代碼,則代碼停止在cudaDeviceSynchronize()點。爲什麼會發生?當gpu上有其他作業運行時,cudaDeviceSynchronize()會停止工作嗎?
目前只有一個進程被允許在給定的時間點使用GPU。如果它在GPU中運行數小時,那麼就沒有公平性或量子性來殺死「工作」。基本用法是先到先得。
但您可以使用CUDA多進程服務(MPS)。它基本上允許多個進程共享一個gpu
https://docs.nvidia.com/deploy/pdf/CUDA_Multi_Process_Service_Overview.pdf