我已经设置了来自Sniper的狙击模拟器,并且能够使用make和/ bin / ls命令使用follow->
成功执行fft测试程序./ run-sniper - / bin / ls
这些命令可以通过狙击手成功执行。
我使用
编译了英特尔TBB的示例程序sub_string_finder_extended.cppgcc -O2 -DNDEBUG -o sub_string_finder_extended.gcc sub_string_finder_extended.cpp -ltbb -lrt ./sub_string_finder_extended.gcc
成功执行,没有任何错误,但是当我使用狙击手使用
运行它时./ run-sniper - ./sub_string_finder_extended.gcc
显示以下输出
后挂起[SNIPER]启动[SNIPER] -------------------------------------------------- ------------------------------ [SNIPER]狙击手使用Pin前端[SNIPER]运行完整的应用程序 在详细模式[SNIPER] -------------------------------------------------- ------------------------------ [SNIPER]启用性能模型[SNIPER]将仪表模式设置为详细
完成构建字符串。
我用Google搜索了一下,但无法找到任何与狙击手使用英特尔TBB相关的主题,但是在狙击手的维基页面上提到了支持英特尔TBB程序。
编辑: 狙击手v-6.1 OS- ubuntu 12.04 LTS
uname -r output-> 3.5.0-23泛型
英特尔TBB(编译自) - > https://github.com/01org/tbb
答案 0 :(得分:2)
据我所知,TBB仍在Sniper中正常运作。
我认为你可能遇到的问题是详细的模拟可能需要相当长的时间,因此看起来好像狙击手正在悬挂。使用Pin mix-mt工具进行快速检查表明,该应用程序总共执行了53B指令,详细模拟需要一天多的时间。检查狙击手发生了什么的一种方法是添加-sprogresstrace
选项以启用${SNIPER_ROOT}/scripts/progresstrace.py
脚本。
这些示例在Ubuntu 12.04.5 LTS(3.13.0-32-generic)上运行,使用TBB,gitid为eb6336ab
,Sniper 6.1和Pinplay-2.2-pin-2.14-71313。
-n2
)-cnehalem-lite
)(通常不用于详细模拟)-sprogresstrace
)$ ${SNIPER_ROOT}/run-sniper -n2 -sstop-by-icount:30000000:30000000000 --roi-script -cnehalem-lite -sprogresstrace -- ${TBB_ROOT}/examples/GettingStarted/sub_string_finder/sub_string_finder_extended
Done building string.
[STOPBYICOUNT] Starting after 30000000000 instructions
[STOPBYICOUNT] Then stopping after simulating 30000000 instructions in detail
Done with serial version.
[STOPBYICOUNT] Starting ROI after 30000000005 instructions
[STOPBYICOUNT] Ending ROI after 30000002 instructions (30000000 requested)
[SNIPER] End
[SNIPER] Elapsed time: 316.56 seconds
$ head -n5 sim.out
| Core 0 | Core 1
Instructions | 14996162 | 15002407
Cycles | 16365757 | 16365757
IPC | 0.92 | 0.92
Time (ns) | 6152540 | 6152540
$ ${SNIPER_ROOT}/run-sniper -n2 --no-cache-warming -sstop-by-icount:30000000:30000000000 --roi-script -cnehalem-lite -sprogresstrace -- ${TBB_ROOT}/examples/GettingStarted/sub_string_finder/sub_string_finder_extended
[SNIPER] Start
[STOPBYICOUNT] Starting after 30000000000 instructions
[STOPBYICOUNT] Then stopping after simulating 30000000 instructions in detail
[SNIPER] --------------------------------------------------------------------------------
[SNIPER] Sniper using Pin frontend
[SNIPER] Running in script-driven instrumenation mode (--roi-script)
[SNIPER] Using FAST_FORWARD mode for warmup
[SNIPER] Using CACHE_ONLY mode for detailed
[SNIPER] --------------------------------------------------------------------------------
Done building string.
[PROGRESS] 10000M instructions, 94977 KIPS, 1.00 IPC
[PROGRESS] 20000M instructions, 95086 KIPS, 1.00 IPC
Done with serial version.
[STOPBYICOUNT] Starting ROI after 30000000005 instructions
[SNIPER] Enabling performance models
[SNIPER] Setting instrumentation mode to CACHE_ONLY
[PROGRESS] 30000M instructions, 99674 KIPS, 2.00 IPC
[STOPBYICOUNT] Ending ROI after 30000002 instructions (30000000 requested)
[SNIPER] Disabling performance models
[SNIPER] Leaving ROI after 0.58 seconds
[SNIPER] Simulated 30.0M instructions, 28843.6M cycles, 0.00 IPC
[SNIPER] Simulation speed 52057.4 KIPS (26028.7 KIPS / target core - 38.4ns/instr)
[SNIPER] Sampling: executed 0.00% of simulated time in detailed mode
[SNIPER] Setting instrumentation mode to FAST_FORWARD
[SNIPER] End
[SNIPER] Elapsed time: 316.56 seconds