我希望在我的nVidia Geforce上执行许多(数以千计)的小型优化作业。
对于小任务,我指的是3-6个维度,每个维度大约输入1000个数据点。基本上它是为了曲线拟合的目的,所以最小化的目标函数是一个连续的(非平凡的)解析函数的平方和,我可以解析地计算它的一阶导数。每个尺寸都被约束在上下边界之间。
这些作业唯一的共同点是原始数据序列,它们从这些数据序列中提取不同的1000个数据点。
我怀疑这将比现在在我的GPU上快得多,一个接一个地在CPU上运行它们,这样我就可以用它来实时监控。
然而,我所见过的GPU库只专注于在GPU上计算单个函数的评估(更快)。
在nvidia CUDA论坛上有一条关于我的具体问题的帖子,有更多的用户在寻找这个帖子,但论坛已经关闭了一段时间。它提到了移植现有的C库(例如,levmar)到CUDA语言,但是这个迷失了.
你知道现有的库可以在gpu上并行运行许多优化吗?
谢谢!
发布于 2012-08-20 22:49:16
GFOR循环的目的是将许多像这样的小问题组合在一起。循环的每个主体与其他循环主体平铺在一起。很多人使用它来解决您所描述的优化问题。它既可用于C/C++, Fortran, or Python,也可用于MATLAB代码。
我的免责声明是我在GFOR上工作。但据我所知,没有其他生产级GPU库可以解决类似的优化问题。如果你四处搜索,也许能找到一些学术项目。
https://stackoverflow.com/questions/12039156
复制相似问题