为什么我需要将应用程序作为PAPI库的根目录运行?

时间:2017-04-17 19:23:12

标签: c++ ubuntu-16.04 papi

我刚刚升级到Ubuntu 16.04 LTS。在我的C ++应用程序中,我使用PAPI库,所以我从http://icl.utk.edu/papi/安装了它。但是由于某种原因,我无法再运行我的应用程序而无需在开头键入sudo

即使只是在终端上键入papi_avail以查看哪些计数器可用,我也会得到:

================================================================================
  PAPI Preset Events
================================================================================
    Name        Code    Avail Deriv Description (Note)
PAPI_L1_DCM  0x80000000  No    No   Level 1 data cache misses
PAPI_L1_ICM  0x80000001  No    No   Level 1 instruction cache misses
PAPI_L2_DCM  0x80000002  No    No   Level 2 data cache misses
PAPI_L2_ICM  0x80000003  No    No   Level 2 instruction cache misses
..........
    Of 108 possible events, 0 are available, of which 0 are derived.

avail.c                                     PASSED

如果我运行sudo papi_avail我就明白了:

--------------------------------------------------------------------------------
Of 108 possible events, 50 are available, of which 17 are derived.

avail.c                                     PASSED

Ubuntu 16.04有什么变化?

1 个答案:

答案 0 :(得分:0)

它与答案here有关。从理论上讲,执行sudo sysctl -w kernel.perf_event_paranoid=0就足够了。