问个关于图像插值的问题

有谁用cuda做过插值的么,做出来的,插一幅1024*1280的双精度图像需要的时间大概是多少,性能跟matlab的interp2比有明显提高么?我写了一个cuda的插值,速度跟interp2比没什么明显提高,但是精度明显不及interp2啊。。。迷茫中。。。到底要不要用cuda加速。。。

1:不做图像处理方向,也无法给出您插值图像的典型时间,以及和matlab相比哪个更快。运行时间和您的算法及实现有关,也和您GPU/CPU是否强劲有关。

2:如果您的计算采用双精度的话,那么可能telsa卡(不含telsa C1060等老卡以及telsa K10)效果会好一些,geforce卡的双精度性能都被封印掉了,速度比较慢。

3:如果是fermi或者kepler核心的GPU,一般来说没理由双精度计算结果明显差于CPU结果。

所以,LZ如需进一步建议,请提供额外的信息,包括您使用的GPU为?您的算法情况和实现情况等。

欢迎莅临cudazone,祝您编码愉快。

现在Compute Capability 2.0 及以上的显卡无论在单精度还是双精度已经完全支持IEEE 754标准。正如ice说的,一般来说计算结果有差异可能是程序算法问题。

而GPU计算速度不如CPU的因素也有很多。可能是计时方法问题(比如把加载driver的时间也算进去了),也可能是没有充分利用GPU计算资源,你可以参考Toolkit里面的best practice guide,里面对程序计时,优化都有详尽描述。

如果有进一步的疑惑欢迎与我们讨论。

嗯,我用的是C2075卡,CPU是E5-2600,硬件上应该都还可以吧。我程序确实有点问题,改了一下,精度的问题基本解决了。算法不一样,插出来的值跟matlab还是有一点差距,但是不会很大了。速度大概比matlab的快个百分之二十左右。

确实,我的程序用visual profiler跑,里面的测评全是low。。。程序没有把显卡发挥到极致。。。

您的GPU和GPU都是很强劲的,目测GPU可能还有潜力可挖,加油!