MATLAB程序仿真与给定的处理器要求

时间:2016-08-20 06:43:37

标签: matlab processor execution-time

我的系统配置为intel(R)core(TM)i3-5020U CPU @ 2.2 GHz,4GB RAM。但是为了比较我的MATLAB程序在执行时间方面的性能,我需要在配置Intel(R)Core(TM)i5-3570 CPU @ 3.40GHz,16 GB RAM的机器上执行它。有没有办法进行这种模拟?

2 个答案:

答案 0 :(得分:1)

TL:DR:否。 Broadwell和IvyBridge之间的性能差异取决于许多复杂的细节。 (请参阅Agner Fog's microarch pdf for the low-level microarchitectural details以及代码wiki中的其他内容)

即使在不同的微体系结构之间,即使在不同的微体系结构之间,性能也可能随时钟速度或内存速度扩展10%,但可能没有。

使用您自己的系统,您可以通过强制它保持在测试运行的最低频率来弄清楚您的代码如何与CPU频率成比例。如果它比完美缩放要小很多,那么内存速度是一个很重要的因素。 (CPU越慢,等待内存所用的周期就越少。)

你无法从BDW 2.2GHz性能推断IvB i5 3.4GHz性能,而无需了解批次有关完全你的代码瓶颈的更多细节。它可能会在两个CPU上出现同样简单的问题,在这种情况下你可以推断出来。例如如果事实证明它是FP乘以延迟的瓶颈,那么IvB上的运行时间将是Broadwell运行时间的5/3(时钟频率比的倍数),因为BDW有3个周期FP乘法和加法,但是SnB / IvB / Haswell有5个周期乘法。 (如果我没记错的话,FMA在BDW上是5个周期.IvB不支持FMA,所以如果Matlab在BDW上利用它,它甚至不能运行相同的机器代码。)

更有可能的是,它不是那么简单,缓存/内存性能也会进入它。 Haswell / Broadwell没有L1缓存库冲突,但是SnB / IvB没有。

根据您在i5 CPU上运行工作负载的方式,它可能会或可能无法升级到高于其额定3.4GHz的频率,进一步混淆任何猜测性能的尝试。

答案 1 :(得分:0)

很难用不同的计算机来衡量实际效率。这就是为什么您通常使用理论效率 Big-O 的原因,请查看维基页面上的algorithm efficiencyBig-O符号。

如果您可以访问这两个代码(您的代码和其他代码),则可以在同一台计算机上 对其进行测试由mathworks提出的methods for measuring performance,主要是实时和cpu时间的时间函数。

最后,您可以看到here有关基准测试的几个挑战,这些挑战可能会引起考虑。

相关问题