PAPI를 사용한 적이 있습니까?PAPI 사용으로 인한 몇 가지 문제점
PAPI가 커널 버전> 2.6.32 (perf-events)를 지원하기 때문에 코드를 테스트하도록 선택합니다.
난 단지에 상관없이 같은 수의 (결과)를 얻을 이유는 무엇 이벤트 코드 등과 PAPI_TOT_INS, PAPI_BR_INS, 같은 내가 선택 ..
#include <stdio.h>
#include "papi.h"
int main(){
int i,j,k;
int a[300][300];
int b[300][300];
int c[300][300];
for(i=0;i<300;i++){
for(j=0;j<300;j++){
a[i][j]=1;
b[i][j]=2;
c[i][j]=0;
}
}
int Events[1]={PAPI_TOT_INS};//={PAPI_BR_INS,PAPI_BR_MSP};
long_long values[1];//values[0]=0;
PAPI_start_counters(Events,1);
for(i=0;i<300;i++){
for(j=0;j<300;j++){
for(k=0;k<300;k++){
c[i][j]+=a[i][k]*b[k][j];
}
}
}
printf("r is %d\n",c[0][0]);
PAPI_read_counters(values,1);
printf("events is %lld\n",values[0]);
for(i=0;i<300;i++){
for(j=0;j<300;j++){
for(k=0;k<300;k++){
a[i][j]+=b[i][k]*c[k][j];
}
}
}
PAPI_accum_counters(values,1);
printf("events is %lld\n",values[0]);
for(i=0;i<300;i++){
for(j=0;j<300;j++){
for(k=0;k<300;k++){
a[i][j]+=b[i][k]*c[k][j];
}
}
}
PAPI_stop_counters(values,1);
printf("events is %lld\n",values[0]);
return 0;
}
내 생각 :
1.My PC (uname -a) : Linux xunzhang-virtual-machine 2.6.35-28- 일반 # 49-Ubuntu SMP Tue Mar ... X86_64 GNU/Linux
내 커널이 perf - 사건? 난 그냥이 효과는 ?? ..
말 뭔가 안내 않는다> 2.6.32 ....
2. 나는 그냥 내 MAC 내 가상 머신을 사용하는 기본 결론을 사용/도와주세요. 감사!!
나는 답변을했습니다! 나는 물리적 인 기계를 시험해 보았다. 올바른 대답을 인쇄했다. – xunzhang