gpt4 book ai didi

c++ - Matlab fmincons 和 C++ 的 NLP 求解器(如 ipopt)之间的性能差距是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:44:04 28 4
gpt4 key购买 nike

我将要为实时应用程序编写一个算法,其中涉及一些高维 NLP(非线性规划)。

在实现之前,我需要对我的算法进行计时,看看它是否适用于实时应用,因此我使用 Matlab 的内置 fmincons 作为基准。

经验表明,matlab 算法往往比 C++ 算法慢很多,所以我想估计在这种特殊情况下我可以期待什么样的性能提升?

因为我的工作大多与实时应用相关,所以我很少使用NLP(非线性编程),所以我问了我的同事,他们推荐我尝试ipopt作为开始,我在它的网站上搜索了一下,没有基准那里反对Matlab,也没有太多关于他们算法细节的话题(至少在Matlab中,不难检查他们算法的细节),所以我基本上对准确性/鲁棒性/最优性等知之甚少。

因此,任何有关 NLP 的 C++ 实现的帮助都将非常有帮助,在此先感谢您。

最佳答案

许多此类问题都由大型 O(n^~3) 矩阵乘法主导。如果是这种情况,并且两个系统都使用相同的算法,那么性能将是相似的,并且不依赖于语言,因为底层矩​​阵乘法函数无论如何都将在 asm 中本地实现。

如果算法不是由像这样的简单函数主导,而是需要大量内存管理,那么 C++ 库将胜出很多(快 3-10 倍)。

(如果性能比许多人使用 OpenCL 将东西转移到专为此类数值计算设计的 GPU 更重要,并且价格/性能差异在 20-100 倍范围内。或者您可以将其转移如果您需要更快,可以加入集群。)

关于c++ - Matlab fmincons 和 C++ 的 NLP 求解器(如 ipopt)之间的性能差距是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13318308/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com