CUDA:CUDA中的一维三次样条插值 [英] CUDA: 1-dimensional cubic spline interpolation in CUDA

查看:1256
本文介绍了CUDA:CUDA中的一维三次样条插值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在做一个医疗影像设备。我想使用CUDA制作更快的设备



我从CCD接收1024个1d的数据512次。
之前我执行IFFT
我必须应用高性能插值算法(如三次样条插值)
每个1024大小的数据(然后1d插值512次)。


  1. 是否有任何CUDA库来执行三次样条插值?
    (我发现有一个库,但它是为2或3维图像
    由于我需要执行其他复杂的过滤功能,我需要全局内存上的数据,而不是纹理内存。)


  2. 是否有任何NUFFT(非均匀快速傅里叶变换)库(不需要为CUDA编写)?
    我想如果我有NUFFT功能,我不需要单独进行插值和IFFT,这是可能的更快的设备。



解决方案

由于更多的人问过这一点,我已经扩展了我的CUDA三次插值代码与1D三次插值。您可以在这里找到更新后的代码: http://www.dannyruijters.nl/cubicinterpolation/ p>

一个也包含1D三次插值的工作CUDA示例可以在 CI.zip



对于那些对SSE方法更感兴趣的人,在示例子目录中的referenceCubicTexture3D示例中,一些工作的SSE优化的多线程三次插值码(尽管在3D中,而不是1D)。



请访问 github 。一维立方插值代码为此处


I'm making a medical imaging equipment. I want to use CUDA for making faster equipment

I receive 1024 size 1d data from CCD 512 times. before I perform IFFT I have to apply high performance interpolation algorithm (like cubic spline interpolation) to the 1024 size data each (then 1d interpolation 512 times).

  1. Is there any CUDA library to perform cubic spline interpolation? (I found that there is one library, but it is for 2 or 3 dimensional image. Since I need to perform other complicated filtering functions, I need the data on the global memory, not on the texture memory.)

  2. Is there any NUFFT (non uniform fast Fourier transform) library (doesn't need to be written for CUDA)? I'm thinking that if I have NUFFT function, I don't have to do interpolation and IFFT separately which is possible for making even faster equipment.

解决方案

Since more people have asked this, I have extended my CUDA cubic interpolation code with 1D cubic interpolation as well. You can find the updated code here: http://www.dannyruijters.nl/cubicinterpolation/

A working CUDA example that also contains 1D cubic interpolation can be found in the cudaAccuracyTest sample in the examples subdirectory in CI.zip.

For those of you who are more interested in a SSE approach, I have some working SSE optimized multi-threaded cubic interpolation code (albeit in 3D, not 1D) in the referenceCubicTexture3D sample in the examples subdirectory.

edit: The cubic interpolation code is now available on github. The 1D cubic interpolation code is here.

这篇关于CUDA:CUDA中的一维三次样条插值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆