Adding support for unified memory

This commit is contained in:
matteo serva 2024-06-20 13:51:07 +02:00
parent 7e72aa74fd
commit 5577cada21

View file

@ -558,7 +558,14 @@ GGML_CALL static ggml_backend_buffer_t ggml_backend_cuda_buffer_type_alloc_buffe
size = std::max(size, (size_t)1); // cudaMalloc returns null for size 0
void * dev_ptr;
cudaError_t err = ggml_cuda_device_malloc(&dev_ptr, size, buft_ctx->device);
cudaError_t err;
if (getenv("GGML_CUDA_ENABLE_UNIFIED_MEMORY") != nullptr)
{
err = cudaMallocManaged(&dev_ptr, size);
}
else {
err = ggml_cuda_device_malloc(&dev_ptr, size, buft_ctx->device);
}
if (err != cudaSuccess) {
// clear the error
cudaGetLastError();