我正在尝试将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
那么......释放内存的正确方法是什么?
答案 0 :(得分:1)
af.free_device(devicepointer)
释放设备对象。但是你试图在设备中释放一个数组。我会尝试其中任何一个:
arr_d = af.Array()
arr_d = None
del arr_d