1

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

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

这些工作唯一的共同点是原始数据系列,他们从中提取了不同的 1000 个数据点。

我怀疑这在我的 GPU 上会比现在快得多,在我的 CPU 上一个接一个地运行它们,所以我可以用它来进行实时监控。

但是,我见过的 GPU 库只专注于在 GPU 上计算单个函数评估(更快)。

在 nvidia CUDA 论坛上有一个关于我的特定问题的主题,有更多用户在寻找这个,但论坛已经关闭了一段时间。它提到将现有的 C 库(例如 levmar)移植到 CUDA 语言,但这迷路了......

您是否知道现有的库可以在 gpu 上并行运行许多优化?

谢谢!

4

1 回答 1

2

GFOR 循环旨在将许多像这样的小问题拼凑在一起。循环的每个主体都与其他循环主体平铺在一起。许多人已将其用于解决您所描述的优化问题。它可用于C/C++、Fortran 或 Python以及MATLAB代码。

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

于 2012-08-20T14:49:16.403 回答