arrayfire python免费设备内存

时间:2017-08-31 13:09:39

标签: python memory-management opencl arrayfire

我正在尝试将arrayfire与python一起使用。

我有一个GTX550Ti并且使用opencl后端,因为我似乎没有让cuda工作(不知道550Ti的计算版本2.1是否对阵列火来说太低)。 我尝试释放使用诸如

之类的语句分配的内存/数组
import numpy as np
import arrayfire as af

arr_h = np.arange(2**15,dtype=np.complex64)
arr_d = af.np_to_af_array(arr_h)

af.free_device(arr_d)

free_device抱怨并说它需要一个指针。 如果我使用

af.free_device(arr_d.raw_ptr())

af.free_device(arr_d.device_ptr())

我收到错误:

  

OSError:异常:访问冲突读取0xFFFFFFFFFFFFFFFFFFF

那么......释放内存的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

af.free_device(devicepointer)

释放设备对象。但是你试图在设备中释放一个数组。我会尝试其中任何一个:

arr_d = af.Array()
arr_d = None
del arr_d