在GPU上并行存在用于许多优化作业的库

时间:2012-08-20 14:03:09

标签: cuda nonlinear-optimization

我希望在我的nVidia Geforce上执行许多(数千个)小型优化工作。

对于小型工作,我的意思是3-6维,每个输入大约1000个数据点。基本上它是用于曲线拟合的目的,因此最小化的目标函数是连续(非平凡)分析函数的平方和,我可以通过分析计算一阶导数。每个维度都限制在下边界和上边界之间。

这些工作唯一的共同点是原始数据系列,它们采用不同的1000个数据点。

我怀疑GPU上的速度比现在快得多,我的CPU逐个运行,所以我可以用它来进行实时监控。

然而,我见过的GPU库只专注于计算GPU上的单个功能评估(更快)。

我在nvidia CUDA论坛上有一个关于我的具体问题的帖子,有更多的用户正在寻找这个,但论坛已经停顿了一段时间。它提到将现有的C库(例如levmar)移植到CUDA语言中,但这已经丢失了......

你知道一个现有的库在gpu上并行运行许多优化吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

GFOR循环旨在将许多小问题拼凑在一起。环的每个主体与其他环体一起平铺。许多人已将它用于您描述的优化问题。它适用于C/C++, Fortran, or Python以及MATLAB代码。

我的免责声明是我在GFOR工作。但我不知道任何其他生产级GPU库会出现类似的优化问题。如果你四处搜寻,你可能会找到一些学术项目。