Skip to content

Commit 79b5eef

Browse files
authored
Fix memory OOM issue (#479)
This pull request includes changes to improve memory management in GPU-related functions by ensuring proper release of memory handles. Fix #470
1 parent bac3c90 commit 79b5eef

File tree

2 files changed

+2
-0
lines changed

2 files changed

+2
-0
lines changed

src/gpu_utils.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ void gpuFreePhysical(void* ptr) {
144144
CUmemGenericAllocationHandle handle;
145145
size_t size = 0;
146146
MSCCLPP_CUTHROW(cuMemRetainAllocationHandle(&handle, ptr));
147+
MSCCLPP_CUTHROW(cuMemRelease(handle));
147148
MSCCLPP_CUTHROW(cuMemGetAddressRange(NULL, &size, (CUdeviceptr)ptr));
148149
MSCCLPP_CUTHROW(cuMemUnmap((CUdeviceptr)ptr, size));
149150
MSCCLPP_CUTHROW(cuMemRelease(handle));

src/registered_memory.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ RegisteredMemory::Impl::Impl(void* data, size_t size, TransportFlags transports,
7575
MSCCLPP_CUTHROW(
7676
cuMemExportToShareableHandle(transportInfo.shareableHandle, handle, getNvlsCompatibleMemHandleType(), 0));
7777
transportInfo.offsetFromBase = (char*)data - (char*)baseDataPtr;
78+
MSCCLPP_CUTHROW(cuMemRelease(handle));
7879
} else {
7980
cudaIpcMemHandle_t handle;
8081
MSCCLPP_CUDATHROW(cudaIpcGetMemHandle(&handle, baseDataPtr));

0 commit comments

Comments
 (0)