|
@@ -645,12 +645,12 @@ _starpu_free_on_node_flags(unsigned dst_node, uintptr_t addr, size_t size, int f
|
|
STARPU_PTHREAD_MUTEX_UNLOCK(&cuda_alloc_mutex);
|
|
STARPU_PTHREAD_MUTEX_UNLOCK(&cuda_alloc_mutex);
|
|
#else
|
|
#else
|
|
cudaError_t err;
|
|
cudaError_t err;
|
|
- struct _starpu_worker *worker = _starpu_get_local_worker_key();
|
|
|
|
unsigned devid = _starpu_memory_node_get_devid(dst_node);
|
|
unsigned devid = _starpu_memory_node_get_devid(dst_node);
|
|
- if (!worker || worker->arch != STARPU_CUDA_WORKER || worker->devid != devid)
|
|
|
|
#if defined(HAVE_CUDA_MEMCPY_PEER)
|
|
#if defined(HAVE_CUDA_MEMCPY_PEER)
|
|
- starpu_cuda_set_device(devid);
|
|
|
|
|
|
+ starpu_cuda_set_device(devid);
|
|
#else
|
|
#else
|
|
|
|
+ struct _starpu_worker *worker = _starpu_get_local_worker_key();
|
|
|
|
+ if (!worker || worker->arch != STARPU_CUDA_WORKER || worker->devid != devid)
|
|
STARPU_ASSERT_MSG(0, "CUDA peer access is not available with this version of CUDA");
|
|
STARPU_ASSERT_MSG(0, "CUDA peer access is not available with this version of CUDA");
|
|
#endif
|
|
#endif
|
|
err = cudaFree((void*)addr);
|
|
err = cudaFree((void*)addr);
|