use*_*633 6 python cuda scipy pycuda
我正在尝试在python中执行Fitted Value Iteration(FVI)(包括使用分段线性插值逼近5维函数).
scipy.interpolate.griddata非常适用于此.但是,我需要将插值程序调用几千次(因为FVI是基于MC的算法).
所以基本上,函数已知的点集是静态的(并且很大 - 比如32k),但是我需要近似的点(这是原始集的小扰动)是非常大的(32k x 5000说).
scipy.interpolate.griddata是否已经将其移植到CUDA?或者,有没有办法加快计算速度?
谢谢.
对于分段线性插值,文档说scipy.interpolate.griddata使用 的方法scipy.interpolate.LinearNDInterpolator,该方法又使用qhull对输入点进行 Delaunay 曲面细分,然后执行标准重心插值,其中对于每个点,您必须确定每个点在哪个超四面体内部是,然后使用其重心坐标作为超四面体节点值的插值权重。
曲面细分可能很难并行化,但您可以使用scipy.spatial.Delaunay. 其他两个步骤很容易并行化,尽管我不知道有任何免费的实现。
如果您的已知功能点位于规则网格上,则此处描述的方法在 CUDA 中特别容易实现,并且我已经使用了它的实际实现,尽管没有公开可用。
所以我担心你将不得不自己完成大部分工作......
| 归档时间: |
|
| 查看次数: |
1192 次 |
| 最近记录: |