现代处理器将内存访问与计算重叠。我想在英特尔至强融核上研究这种重叠。这样做的传统方法是修改代码并制作两个版本:仅内存和仅计算,就像这张幻灯片中用于 GPU 的方法:http ://www.nvidia.com/content/GTC-2010/ pdfs/2012_GTC2010.pdf。
但是,我的程序具有复杂的控制流和数据依赖性。我很难做出这样的两个版本。
有没有方便的方法来测量这种重叠?我正在考虑 Vtune 配置文件,但我仍然不确定应该查看哪些硬件计数器。
现代处理器将内存访问与计算重叠。我想在英特尔至强融核上研究这种重叠。这样做的传统方法是修改代码并制作两个版本:仅内存和仅计算,就像这张幻灯片中用于 GPU 的方法:http ://www.nvidia.com/content/GTC-2010/ pdfs/2012_GTC2010.pdf。
但是,我的程序具有复杂的控制流和数据依赖性。我很难做出这样的两个版本。
有没有方便的方法来测量这种重叠?我正在考虑 Vtune 配置文件,但我仍然不确定应该查看哪些硬件计数器。