2017-05-08 20 views
0

我经常在一台特定的计算机上的某个特定CPU上看到人们的基准/配置文件(或者建议其他人进行基准测试/配置文件)某个特定情况下的特定代码;然后(可能是错误地)假定这个结果适用于各种不同情况下的CPU(例如“所有64位80x86”)在不同情况下的代码(例如同一内核中不同负载下的其他逻辑CPU)各种不同的计算机(例如不同的RAM定时等)。有一个详尽的分析器吗?

我在找的是一种能够在许多条件下(主要是通过解释代码而不是直接测量)为许多CPU生成分析结果的分析器;然后使用加权因子(其中加权因子代表用户关心每个测量的个案的程度)来结合所有结果,以创建实际有用并且没有误导性的结果。

是否有适合此描述的分析工具?

+0

你好。您的问题更多关于IPC代码(http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.html - “解释和可操作的项目”;您是否模拟cpu-绑定或内存绑定)?是关于单线程,多线程还是多线程性能?查看RISC-V BOOM论文,了解微架构设计/规划问题及其在FPGA模型帮助下的加速搜索:https://www2.eecs.berkeley.edu/Pubs/TechRpts/2015/EECS-2015-167.html https://people.eecs.berkeley.edu/~krste/papers/dgkim-msthesis.pdf等。 – osgx

+0

不同的活动在不同的环境中有不同的成本。在一个环境中,I/O可能是主要成本,但不是另一个。缓存未命中可能在一个中占主导地位,但在另一个中不占优势内存分配 - 同样的事情。浮点数学 - 同样的事情。并行处理开销 - 同样的事情。所以如果你想要一个适合所有人的工具,它必须能够被告知你想要什么样的环境。我想你认为重量可以做到这一点,但我的经验表明,你不能预先告知类别应该是什么。 –

回答

0

我觉得互联网上没有发布通用的性能预测工具,但内部的CPU供应商可能会优化下一代微架构。

valgrind二进制仪器平台与callgrind/cachegrind(慢)简单模型分析器。 Callgrind计算模型中的基本块执行,如1指令就像1 cpu时钟; cachegrind另外仪器模型存储器访问与一些2级cache model也可能模型简单branch predictor。这两种工具都没有来自供应商1和供应商2的“所有64位80x86”兼容CPU(并且OOO cpus在基本OOO能力和性能上相似)的现代OOO CPU的广泛解码/执行/退休能力的知识/模型。

有OOO CPU模拟器的几个开源项目(由慢到很慢),如:基于PTLsim(http://www.facom.ufms.br/~ricardo/Courses/CompArchII/Tools/PTLSim/PTLsimManual.pdf,2007)MARSSx86(http://marss86.org/,2012),或狙击手多核模拟器(石墨的帮助框架)。 (还有DRAMSim/DRAMSim2存储器模拟器,用于精确的系统仿真,并用于其他几个模拟器项目;它可以选择用于RISC-V火箭芯片模拟器)

您可能有兴趣一些(非常慢 - 几十KIPS)cycle-accurate simulator/microarchitecture simulator,但是没有太多的开源变体。有一些商业模拟器(例如在ARM世界--ARM Cycle Models/CPAKs; ARC nSIM,...);或simplescalar.com。还有内部专有的模拟器(我们无法访问它们)。

供应商1的IACA:https://software.intel.com/en-us/articles/intel-architecture-code-analyzer(用于短码序列的不精确的部分模型,例如没有任何存储器层次建模的内部循环的短码序列)的微观架构/周期模拟器的公开近似。另外还有供应商1的其他工具“SDE”,用以前的CPU和PIN二进制重写工具来估计/调试将来的CPU指令扩展:https://software.intel.com/en-us/articles/intel-software-development-emulator

+0

@Brendan,针对嵌入式世界(ARM,MIPS,Renesas,ARC,NIOS/Microblaze,PowerPC)提供OVP/OVPsim“170多种高性能处理器模型的开放式虚拟平台(OVP)库”:https://riscv.org /wp-content/uploads/2017/05/Wed1415-Imperas-Virtual-Platforms-Lapides.pdf#page=34,并声称速度为1 GIPS的“指令精确(IA)模拟平台” - www.ovpworld.org 。不像开放源代码那样开放,工具只有二进制,模型通过点击许可:“* OVP可以免费用于非商业用途,希望用户能够......联系OVPsim开发人员,Imperas * “。 – osgx

相关问题