diff --git a/intern/cycles/device/cuda/device_impl.cpp b/intern/cycles/device/cuda/device_impl.cpp index c8fb22552642b0b98c17bae2768a6e3869f8fa6e..83460b16802b40d88490ba49b023477988ca05cf 100644 --- a/intern/cycles/device/cuda/device_impl.cpp +++ b/intern/cycles/device/cuda/device_impl.cpp @@ -187,7 +187,7 @@ bool CUDADevice::check_peer_access(Device *peer_device) { const CUDAContextScope scope(this); CUresult result = cuCtxEnablePeerAccess(peer_device_cuda->cuContext, 0); - if (result != CUDA_SUCCESS) { + if (result != CUDA_SUCCESS && result != CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED) { set_error(string_printf("Failed to enable peer access on CUDA context (%s)", cuewErrorString(result))); return false; @@ -196,7 +196,7 @@ bool CUDADevice::check_peer_access(Device *peer_device) { const CUDAContextScope scope(peer_device_cuda); CUresult result = cuCtxEnablePeerAccess(cuContext, 0); - if (result != CUDA_SUCCESS) { + if (result != CUDA_SUCCESS && result != CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED) { set_error(string_printf("Failed to enable peer access on CUDA context (%s)", cuewErrorString(result))); return false;