Skip to content

Commit fc7b95e

Browse files
authored
Merge pull request #31 from 36000/buffer_fixes
avoid buffer size overflow
2 parents eab1108 + 743c0e6 commit fc7b95e

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

cuslines/cuda_python/cu_propagate_seeds.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import numpy as np
2+
import math
23
import gc
34
from cuda.bindings import runtime
45
from cuda.bindings.runtime import cudaMemcpyKind
@@ -240,7 +241,7 @@ def get_buffer_size(self):
240241
lens = self.sline_lens[ii]
241242
for jj in range(self.nSlines[ii]):
242243
buffer_size += lens[jj] * 3 * REAL_SIZE
243-
return buffer_size
244+
return math.ceil(buffer_size / MEGABYTE)
244245

245246
def as_generator(self):
246247
def _yield_slines():
@@ -256,4 +257,4 @@ def _yield_slines():
256257
return _yield_slines()
257258

258259
def as_array_sequence(self):
259-
return ArraySequence(self.as_generator(), self.get_buffer_size() // MEGABYTE)
260+
return ArraySequence(self.as_generator(), self.get_buffer_size())

cuslines/cuda_python/cu_tractography.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ def generate_sft(self, seeds, ref_img):
248248
seeds[idx * global_chunk_sz : (idx + 1) * global_chunk_sz].shape[0]
249249
)
250250
array_sequence = ArraySequence(
251-
(item for gen in generators for item in gen), buffer_size // MEGABYTE
251+
(item for gen in generators for item in gen), buffer_size
252252
)
253253
return StatefulTractogram(array_sequence, ref_img, Space.VOX)
254254

0 commit comments

Comments
 (0)