Hi -
In preliminary testing of PAPI on perfmon2/Cell, it appears that the CYCLES
event produced by pfm_get_cycle_event() is not virtualized beyond 32 bits.
One of the basic PAPI tests shows this quite clearly:

[EMAIL PROTECTED] src]$ ctests/first
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_TOT_INS:  220000254   220000234   440001418  660002608   660002608
PAPI_TOT_CYC: 1457689764  1457304922  2914621474   76980116    76980116
-------------------------------------------------------------------------
Verification:
% difference between PAPI_TOT_INS: 1 & 2: 100.00
% difference between PAPI_TOT_CYC 1 & 2: 100.03
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

The PAPI_TOT_CYC result in column 4 should be 3*column 2.
Instead, it is roughly 3*column 2 - 2^^32:
3*col2 = 4371914766
2^^32  = 4294967296
         ----------
           76947470

Is this (not) happening in the kernel or in the libpfm layer?
Does the same apply to other events as well?

- d


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to