Zk1*_*001 9 memory cpu profiling caching opencl
我有一个关于x86架构中的差异缓存级别的缓存未命中之间的关系的问题(Say Xeon X5660).
我在一些性能计数器上对OpenCL应用程序(Blackscholes)进行了一些分析.对于每个计数器,我总结所有核心上的所有值并获得此结果:
instructions #: 493167746502.000000
L3_MISS #: 1967809.000000
L1_MISS #: 2344383795.000000
L2_DATA_MISS #: 901131.000000
L2_MISS #: 1397931.000000
memory loads #: 151559373227.000000
Run Code Online (Sandbox Code Playgroud)
问题是为什么L3未命中数量大于L2未命中数?(我不断多次重新进行分析,差异不大).我的想法基本上是:
L2未命中= L3命中+ L3未命中
有人可以解释我这里出了什么问题,我有没有想念?
更进一步,是什么原因导致CPU的最后一级缓存(CPU)的缓存读取?它只是L2中的数据丢失吗?
谢谢
小智 3
图片参考:http://www.theregister.co.uk/2010/02/03/intel_westmere_ep_preview/
正如您在上面看到的,在“Westmere-EP”架构中,3 个核心的块共享 L3 缓存的一部分。所以“boiler96”说的有道理。您要么获得单个核心的 L2 未命中数,要么您的 L3 未命中数来自 Uncore,它是所有核心的未命中数的组合。
归档时间: |
|
查看次数: |
1527 次 |
最近记录: |