使用狙击模拟器使用英特尔TBB程序

时间:2017-08-24 04:42:39

标签: simulation tbb

我已经设置了来自Sniper的狙击模拟器,并且能够使用make和/ bin / ls命令使用follow->

成功执行fft测试程序
  

./ run-sniper - / bin / ls

这些命令可以通过狙击手成功执行。

我使用

编译了英特尔TBB的示例程序sub_string_finder_extended.cpp
  

gcc -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

1 个答案:

答案 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。

简要说明

解释了命令行选项

  1. 使用2个核心(-n2
  2. 运行
  3. 快速前进30B指令后开始模拟
  4. 模拟30M指令后结束
  5. 在此示例中使用速度更快,仅限缓存的Nehalem-Lite核心模型(-cnehalem-lite)(通常不用于详细模拟)
  6. 报告进度(已修改progresstrace.py以显示每10B指令的进度,-sprogresstrace
  7. 输出

    $ ${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