在PAPI中我试图将7个事件放在一个事件集中,这样我就可以在一个操作中读取7个结果但是我总是得到返回-1,有人可以帮助我吗?我的代码是这样的:
int events1[] = {
PAPI_L1_TCM,
PAPI_L2_TCM,
PAPI_L3_TCM,
PAPI_MEM_WCY,
PAPI_RES_STL,
PAPI_TLB_DM,
PAPI_TLB_IM};
PAPI_library_init(PAPI_VER_CURRENT);
i = PAPI_start_counters(events1,7);
其中i
似乎为-1,表示PAPI_EINVAL
。
我尝试更改值PAPI_NUM_TLS
,但它没有效果。
答案 0 :(得分:0)
我现在有同样的问题。但是,正如我发现的那样,麻烦来自第5和第6柜台。此处:https://icl.cs.utk.edu/projects/papi/wiki/PAPI3:PAPI_add_event.3 在IBM POWER6 NOTES中,提到了这两个计数器是特定的,据我所知应该对具体事件进行计数。我还没有找到解决方案。对于第5个,我添加了PAPI_TOT_INS并似乎可以正常工作,但对于第6个,PAPI_TOT_CYC给出了他们所说的PAPI_ECNFLCT错误。