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