我想在cumb中使用numba中的float数组找到索引和最小数字的值 .
我知道我们可以简单地使用numpy方法来解决这个问题 . 但是,将数组从设备复制到主机需要花费最多的时间(98%) . 因此,我在设备空间中声明了整个数组,现在我正在尝试在设备中实现argmin,这样我就可以最小化复制内存的时间 .
另外,我试图启动一个单线程cuda函数来调用numpy.argmin(),但是memcpy仍然很高 .
@cuda.jit
def argminCuda(arr, res):
res[0] = arr.argmin()
res[1] = arr[res[0]]
这里“arr”是在设备空间中声明的float数组,“res”是长度为2的固定内存 .
是否有一种有效的方法可以实现我的内存传输优化?