提交 9171b723 authored 作者: Frederic's avatar Frederic

Fix memory leak on the CPU(only the struc is leaked)

上级 4cf7afb4
...@@ -69,7 +69,7 @@ class GpuCumsum(CumsumOp, GpuOp): ...@@ -69,7 +69,7 @@ class GpuCumsum(CumsumOp, GpuOp):
return "%s{%s}" % (self.__class__.__name__, self.axis) return "%s{%s}" % (self.__class__.__name__, self.axis)
def c_code_cache_version(self): def c_code_cache_version(self):
return (8,) return (9,)
def c_support_code_apply(self, node, nodename): def c_support_code_apply(self, node, nodename):
return """ return """
...@@ -306,6 +306,7 @@ class GpuCumsum(CumsumOp, GpuOp): ...@@ -306,6 +306,7 @@ class GpuCumsum(CumsumOp, GpuOp):
if (dimGridX > 1) { if (dimGridX > 1) {
// Do a cumsum over the blockSum (recursive). // Do a cumsum over the blockSum (recursive).
if (cumSum_%(nodename)s(deviceBlockSum, deviceBlockSum, 0, maxThreads, maxGridY, maxGridZ) == -1){ if (cumSum_%(nodename)s(deviceBlockSum, deviceBlockSum, 0, maxThreads, maxGridY, maxGridZ) == -1){
Py_DECREF(deviceBlockSum);
return -1; return -1;
} }
...@@ -342,8 +343,7 @@ class GpuCumsum(CumsumOp, GpuOp): ...@@ -342,8 +343,7 @@ class GpuCumsum(CumsumOp, GpuOp):
} }
} }
} }
Py_DECREF(deviceBlockSum);
cudaFree(CudaNdarray_DEV_DATA(deviceBlockSum));
CNDA_THREAD_SYNC; CNDA_THREAD_SYNC;
return 0; return 0;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论