Skip to content

Commit 2539c2c

Browse files
committed
move destructor hooks to match mratsim#676
1 parent d88f1e9 commit 2539c2c

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

Diff for: src/arraymancer/tensor/data_structure.nim

+8-12
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,14 @@ when defined(cuda):
5757
offset*: int
5858
storage*: CudaStorage[T]
5959

60-
proc deallocCuda*[T](p: CudaTensorRefTracker[T]) {.noSideEffect.}=
61-
if not p.value.isNil:
62-
check cudaFree(p.value)
60+
when NimMajor == 1:
61+
proc `=destroy`*[T](p: var CudaTensorRefTrackerObj[T]) {.noSideEffect.}=
62+
if not p.value.isNil:
63+
discard cudaFree(p.value)
64+
else:
65+
proc `=destroy`*[T](p: CudaTensorRefTrackerObj[T]) {.noSideEffect.}=
66+
if not p.value.isNil:
67+
discard cudaFree(p.value)
6368

6469
when defined(opencl):
6570
type
@@ -96,15 +101,6 @@ else:
96101

97102
type GpuTensor[T] = AnyTensor[T] and not Tensor[T]
98103

99-
when NimMajor == 1:
100-
proc `=destroy`*[T](p: var CudaTensorRefTrackerObj[T]) {.noSideEffect.}=
101-
if not p.value.isNil:
102-
discard cudaFree(p.value)
103-
else:
104-
proc `=destroy`*[T](p: CudaTensorRefTrackerObj[T]) {.noSideEffect.}=
105-
if not p.value.isNil:
106-
discard cudaFree(p.value)
107-
108104

109105

110106
# ###############

0 commit comments

Comments
 (0)