我不熟悉Python中的NumbaPro。我有下面的代码,我想在CUDA(Anaconda Accelerate)的x,y网格中并行化,但是每次我运行这个代码时,它在Decorator行给出一个NotImplementedError,我不确定是什么问题,有人能帮我吗?非常感谢:
@cuda.jit(argtypes=(float64[:,:], float64[:,:,:], float64, float64, float64), device=True)
def computeflow(PMapping2, Array_hist2, Num_f1, p_depth1, image_width1):
x, y = cuda.grid(2);
for y in xrange(0,p_depth1):
for x in xrange(0,image_width1):
Array_H, bin_edges = numpy.histogram(Array_hist2[y,x,:], bins=Num_f1, range=None, normed=False, weights=None, density=None);
Array_H = (numpy.imag(numpy.fft.ifft(Array_H,n=1024)));
Array_H1 = Array_H[0:len(Array_H)/2];
Array_H1[20:1024] = 0;
PMapping2[y,x] = numpy.sum(Array_H1);
Mapping1=cuda.to_device(PMapping);
Array_hist1=cuda.to_device(Array_hist);
computeflow[(3,3),(3,3)](PMapping, Array_hist, Num_f, p_depth, image_width);
PMapping1.to_host();
这意味着切片操作
a[i:j] = b
尚未实现。ref看看你想在上面使用cuda的功能,你似乎还没有完全理解cuda是如何工作的。我建议您查阅一些通用指南,例如},以便快速掌握如何设计gpu的视差功能。这个话题太大了,不能在这里讨论。可悲的是,医生对这类事情的看法很糟糕。可能是因为还有很多发展。在
cuda/pycuda
或{相关问题 更多 >
编程相关推荐