首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >哪些算法具有很高的时间复杂度,可以帮助“燃烧”更多的CPU周期?

哪些算法具有很高的时间复杂度,可以帮助“燃烧”更多的CPU周期?
EN

Stack Overflow用户
提问于 2012-01-24 06:10:19
回答 6查看 1.7K关注 0票数 1

我正在尝试写一个嵌入式处理器的演示,它是一个多核架构,在浮点计算中非常快。问题是,我目前的硬件是通过评估板连接的处理器,其中DRAM到芯片的速率在某种程度上是有限的,而板到PC的速率非常慢,效率很低。

因此,在演示大矩阵乘法时,我可以在几毫秒内完成128x128矩阵,但是I/O需要(很多)秒来完成演示。

因此,我正在寻找一种比n^3更高复杂度的计算,越多越好(但最好是易于编程和解释/理解),以使计算部分在时间预算中更占主导地位,其中数据集最好绑定到每个线程(核心)约16KB。

有什么建议吗?

PS:我认为它在本质上非常类似于this问题。

EN

回答 6

Stack Overflow用户

发布于 2012-01-24 06:28:23

您可以生成较大的(256位)数字并对它们进行分解;这是“压力测试”工具中常用的。如果您特别想练习浮点计算,您可以使用Runge-Kutta积分器构建一个基本的n-body模拟器并运行它。

票数 3
EN

Stack Overflow用户

发布于 2012-01-24 06:19:28

你能做的是

  1. 声明一个整型

的std::

  1. ,用N-1填充它,继续重复使用std::next_permutation,直到它们再次排序,i..e..next_permutation返回false。

对于N整数,这将需要O(N !)计算,而且是确定性的

票数 1
EN

Stack Overflow用户

发布于 2012-01-24 06:55:19

PageRank可能是一个很好的选择。作为一个线性代数问题,一个人反复地对一个大小可控的浮点矩阵进行平方运算,直到收敛。在图形化的比喻中,一个“涟漪”变化进入每个节点到其他边。这两种处理方法可以并行进行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8979322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档