flpins = 0; MFLOPS = 0.0000

Posted:
Wed Mar 31, 2010 2:09 pm
by zixzie
Hi,
I ran a very simple test flops.c (available here
http://spiral.cs.drexel.edu/wiki/Papi370Ubuntu910).
This was what I got:
Real_time: 8.358779 Proc_time: 13.935387 Total flpins: 0 MFLOPS: 0.000000Can anyone explain to me why the flpins and MFLOPS is 0?
My system is Ubuntu 9.10 (2.6.31) with an Intel i7.
Thanks.
Re: flpins = 0.0000; MFLOPS = 0.0000

Posted:
Wed Mar 31, 2010 3:05 pm
by jagode00
I ran the same flops.c test on our i7 machine:
$ uname -a
Linux gonzo 2.6.31-perfctr #1 SMP Thu Sep 24 10:17:37 EDT 2009 x86_64 GNU/Linux
testing both cases, perfctr and perf_events. In both cases I get reasonable values for flpins and MFLOPS.
perfctr v2.6:
Real_time: 7.691261 Proc_time: 7.681456 Total flpins: 2001175424 MFLOPS: 260.520325
perf_events:
Real_time: 7.628023 Proc_time: 7.625648 Total flpins: 2000166656 MFLOPS: 262.294647
Two questions:
1) What PAPI version are you using?
2) What do you get when you run one of PAPI's ctests, e.g. <papi-src-dir>/ctests/first?
Thanks,
heike.
Re: flpins = 0; MFLOPS = 0.0000

Posted:
Fri Apr 02, 2010 2:24 pm
by zixzie
Hi,
1. My PAPI version is 3.7.2
2. The result of running first.c
- Code: Select all
Test case 1: Non-overlapping start, stop, read.
-----------------------------------------------
Default domain is: 1 (PAPI_DOM_USER)
Default granularity is: 1 (PAPI_GRN_THR)
Using 20000000 iterations of c += a*b
-------------------------------------------------------------------------
Test type : 1 2 3 4 5
PAPI_FP_INS: 0 0 0 0 0
PAPI_TOT_CYC: 63611959 60030384 120361818 180383830 180383830
-------------------------------------------------------------------------
Verification:
Row 1 Column 1 at least 20000000
% difference between PAPI_FP_INS: 1 & 2: nan
% difference between PAPI_TOT_CYC 1 & 2: 105.97
Column 1 approximately equals column 2
Column 3 approximately equals 2 * column 2
Column 4 approximately equals 3 * column 2
Column 4 exactly equals column 5
first.c FAILED
Line # 150
Error: PAPI_FP_INS
It failed to run first.c, due to PAPI_FP_INS.
Thanks.
I was unable to upload an attachment.
Re: flpins = 0; MFLOPS = 0.0000

Posted:
Thu Apr 15, 2010 4:53 pm
by jagode00
Sorry that it took me so long to come back to you!
I have tested with the same PAPI version (3.7.2.) on our i7 machine. I still cannot reproduce what you are seeing. Here is the output I get for the first ctest:
Test case 1: Non-overlapping start, stop, read.
-----------------------------------------------
Default domain is: 1 (PAPI_DOM_USER)
Default granularity is: 1 (PAPI_GRN_THR)
Using 20000000 iterations of c += a*b
-------------------------------------------------------------------------
Test type : 1 2 3 4 5
PAPI_FP_INS: 40000541 40000573 80001099 120001671 120001671
PAPI_TOT_CYC: 62829633 62714677 125310882 188043650 188043650
-------------------------------------------------------------------------
Verification:
Row 1 Column 1 at least 20000000
% difference between PAPI_FP_INS: 1 & 2: 100.00
% difference between PAPI_TOT_CYC 1 & 2: 100.18
Column 1 approximately equals column 2
Column 3 approximately equals 2 * column 2
Column 4 approximately equals 3 * column 2
Column 4 exactly equals column 5
Please send me the config.log file. Hopefully this will shed light on the issues here.
Thanks,
heike.
Re: flpins = 0; MFLOPS = 0.0000

Posted:
Wed Sep 05, 2012 1:17 pm
by victoria1986
Hello everyone.
I decided to post my questionin the same thread.
When I run flops.c example, it's fine, i get the values.
But when I try to paste all papi directive and functions I get flps and mlops=0. May be someone had that issue already?
here is my code
//PAPI initialization
float real_time, proc_time, mflops;
long long flpins;
int retval, fip=0;
retval = PAPI_library_init( PAPI_VER_CURRENT );
if ( retval != PAPI_VER_CURRENT )
fprintf(stderr,"PAPI library version mismatch!\n");
if ( PAPI_query_event( PAPI_FP_INS ) == PAPI_OK )
fip = 1;
else if ( PAPI_query_event( PAPI_FP_OPS ) == PAPI_OK )
fip = 2;
else {
printf( "PAPI_FP_INS and PAPI_FP_OPS are not defined for this platform.\n" );
}
PAPI_shutdown( );
if ( fip > 0 )
{
if ( fip == 1 ) {
if ( ( retval = PAPI_flips( &real_time, &proc_time, &flpins, &mflops ) ) < PAPI_OK )
fprintf(stderr,"Problem reading flips\n");}
else {
if ( ( retval = PAPI_flops( &real_time, &proc_time, &flpins, &mflops ) ) < PAPI_OK )
fprintf(stderr,"Problem reading flops\n");
}
for ( i = 0; i < 2 * n; i = i + 2 )
{
z0 = 0.0;
z1 = 0.0;
x[i] = z0;
z[i] = z0;
x[i+1] = z1;
z[i+1] = z1;
}
if ( fip == 1 )
{
if ( ( retval = PAPI_flips( &real_time, &proc_time, &flpins, &mflops ) ) < PAPI_OK )
fprintf(stderr,"Problem reading flips2\n");
}
else {
if ( ( retval =PAPI_flops( &real_time, &proc_time, &flpins,&mflops ) ) < PAPI_OK )
fprintf(stderr,"Problem reading flops2\n");
}
if ( fip == 1 )
{
printf( "Real_time: %f Proc_time: %f Total flpins: ", real_time,proc_time );
}
else {
printf( "Real_time: %f Proc_time: %f Total flpops: ", real_time,proc_time );
}
printf("Flops: %lld ",flpins);
printf( " MFLOPS: %f\n", mflops );
}
I will appreciate any suggestion, thank you