Python CUDA中的scipy.interpolate.griddata等效项

Python CUDA中的scipy.interpolate.griddata等效项,python,cuda,scipy,pycuda,Python,Cuda,Scipy,Pycuda,我试图在python中执行拟合值迭代(FVI)(涉及使用分段线性插值近似5维函数) scipy.interpolate.griddata非常适合于此。但是,我需要调用插值例程数千次(因为FVI是基于MC的算法) 所以基本上,函数已知的点集是静态的(大的,比如32k),但是我需要近似的点(原始集的小扰动)非常大(32k x 5000) 是否有scipy.interpolate.griddata所做的移植到CUDA的实现? 或者,有没有办法加快计算速度 谢谢。对于分段线性插值,文档说使用的方法是,然

我试图在python中执行拟合值迭代(FVI)(涉及使用分段线性插值近似5维函数)

scipy.interpolate.griddata非常适合于此。但是,我需要调用插值例程数千次(因为FVI是基于MC的算法)

所以基本上,函数已知的点集是静态的(大的,比如32k),但是我需要近似的点(原始集的小扰动)非常大(32k x 5000)

是否有scipy.interpolate.griddata所做的移植到CUDA的实现? 或者,有没有办法加快计算速度


谢谢。

对于分段线性插值,文档说使用的方法是,然后使用对输入点进行Delaunay细分,然后执行标准重心插值,其中对于每个点,您必须确定每个点在哪个超四面体内,然后将其用作超四面体节点值的插值权重

测试可能很难并行化,但您可以使用访问CPU版本。其他两个步骤很容易并行化,尽管我不知道有任何免费的实现

如果您已知的功能点位于常规网格上,那么所描述的方法在CUDA中特别容易实现,我已经使用过它的实际实现,尽管没有公开的实现


所以恐怕大部分工作你都得自己做

嗨,是的,我最终完成了大部分工作。我查看了在scipy.spatial.Delauny中find_simplex的实现,发现基本思想可以很容易地对足够多的点进行并行化。所以基本上我运行了两个循环-一个用于查找(并存储)每个MC样本的单纯形,另一个用于查找存储的单纯形并计算其重心坐标以进行插值。它受到视频内存的限制,但速度非常快。你有没有把它上传到任何地方?我正在寻找一个cuda版本的griddata。