我正在尝试将arrayfire与python一起使用。
我有一个GTX550TI并使用OpenCL后端,因为我似乎无法使CUDA工作(不知道550TI的Compute 2.1版本是否太低,对于ArrayFire)。我尝试使用
等语句分配的内存/数组免费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:异常:访问违规阅读0xffffffffffffffffffffffffffff
所以..免费内存的正确方法是什么?
af.free_device(devicepointer)
释放设备对象。但是您正在尝试释放设备内部的数组。我会尝试其中任何一个:
arr_d = af.Array()
arr_d = None
del arr_d