arrayfire python 释放设备内存
arrayfire python free device memory
我正在尝试将 arrayfire 与 python 一起使用。
我有一个 GTX550Ti 并使用 opencl 后端,因为我似乎没有让 cuda 工作(不知道 550Ti 的计算版本 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: exception: access violation reading 0xFFFFFFFFFFFFFFFFFFF
那么..释放内存的正确方法是什么?
af.free_device(devicepointer)
释放一个设备对象。但是您正在尝试释放设备内的数组。我会尝试其中任何一个:
arr_d = af.Array()
arr_d = None
del arr_d
我正在尝试将 arrayfire 与 python 一起使用。
我有一个 GTX550Ti 并使用 opencl 后端,因为我似乎没有让 cuda 工作(不知道 550Ti 的计算版本 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: exception: access violation reading 0xFFFFFFFFFFFFFFFFFFF
那么..释放内存的正确方法是什么?
af.free_device(devicepointer)
释放一个设备对象。但是您正在尝试释放设备内的数组。我会尝试其中任何一个:
arr_d = af.Array()
arr_d = None
del arr_d