我从网站上下载了4.4版本,在我自己的目录中构建它,并尝试编写一个小的main,它一直给我num_counters为零。然后我查看了ctests并选择了hwinfo.c,并从中删除了一些代码(和testlib)并将其扔进一个看起来像这样的小主体:
#include <stdio.h>
#include <papi.h>
int main(int argc, char** argv)
{
int retval, i, j;
const PAPI_hw_info_t *hwinfo = NULL;
const PAPI_mh_info_t *mh;
retval = PAPI_library_init( PAPI_VER_CURRENT );
if ( retval != PAPI_VER_CURRENT )
cerr << "Failed at line " << __LINE__ << endl;
retval =
papi_print_header
( "Test case hwinfo.c: Check output of PAPI_get_hardware_info.\n",
&hwinfo );
if ( retval != PAPI_OK )
cerr << "Failed at line " << __LINE__ << endl;
}
我使用以下内容构建了它:
g++ main.cpp -I/home/pchan/rabbit/papi/include /home/pchan/rabbit/papi/lib/libpapi.a
并用:
运行./a.out
只能看到这个输出:
测试用例hwinfo.c:检查PAPI_get_hardware_info的输出。
--------------------------------------------------------------------------------
PAPI Version : 4.4.0.0
Vendor string and code : (0)
Model string and code : (0)
CPU Revision : 0.000000
CPU Megahertz : 0.000000
CPU Clock Megahertz : 0
CPUs per Node : 0
Total CPUs : 0
Number Hardware Counters : 0
Max Multiplex Counters : 0
--------------------------------------------------------------------------------
我对发生的事情有点迷失,为什么这不起作用......这是什么症状,我可以尝试解决它?我的处理器是Intel Xeon X5760,我的uname -a说:
Linux chanbox 2.6.18-308.4.1.el5 #1 SMP Wed Mar 28 01:54:56 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
答案 0 :(得分:-1)
尝试“papi_avail -a”以了解您的PC上支持的内容。