Skip to content

Commit 8e895a5

Browse files
committed
FEAT/TEST: Adding function to call garbage collector
1 parent 59601ff commit 8e895a5

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

arrayfire/device.py

+6
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,9 @@ def device_mem_info():
132132
mem_info['alloc'] = {'buffers' : alloc_buffers.value, 'bytes' : alloc_bytes.value}
133133
mem_info['lock'] = {'buffers' : lock_buffers.value, 'bytes' : lock_bytes.value}
134134
return mem_info
135+
136+
def device_gc():
137+
"""
138+
Ask the garbage collector to free all unlocked memory
139+
"""
140+
safe_call(backend.get().af_device_gc())

tests/simple/device.py

+6
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,17 @@ def simple_device(verbose=False):
1919
print_func(af.is_dbl_supported())
2020
af.sync()
2121

22+
dev = af.get_device()
23+
print_func(dev)
2224
for k in range(af.get_device_count()):
2325
af.set_device(k)
2426
dev = af.get_device()
2527
assert(k == dev)
2628

2729
print_func(af.is_dbl_supported(k))
2830

31+
af.device_gc()
32+
2933
mem_info_old = af.device_mem_info()
3034

3135
a = af.randu(100, 100)
@@ -34,4 +38,6 @@ def simple_device(verbose=False):
3438
assert(mem_info['alloc']['buffers'] == 1 + mem_info_old['alloc']['buffers'])
3539
assert(mem_info[ 'lock']['buffers'] == 1 + mem_info_old[ 'lock']['buffers'])
3640

41+
af.set_device(dev)
42+
3743
_util.tests['device'] = simple_device

0 commit comments

Comments
 (0)