How to count the number of LOADS!!

Open discussion of PAPI.

How to count the number of LOADS!!

Postby arrazem » Mon Jan 04, 2010 4:56 pm


I have papi on a machine running Linux 2.6 on a Intel(R) Core(TM)2 Quad CPU. I am also using PAPIEX as the interface to PAPI.

My research revolves around load instructions and I was wondering if there's a way to get a count for load instructions.

I look at all the available events using "papiex -l " but none of the event seems to do this. I have L1/L2 misses, accesses, but not pure loads.

Can anyone tell me if there's a way to do this? Or if there's a basic count that can be close to what I need?

Thank you!

P.S. I wrote a simple program with a specified number of loads and tested it on many of the available events to see if any result will be close to the number of loads but I did not find any!
Posts: 9
Joined: Mon Jan 04, 2010 4:49 pm

Re: How to count the number of LOADS!!

Postby Dan Terpstra » Tue Jan 05, 2010 11:42 am

There are no PRESET events in PAPI specifically to count memory loads. There are events to count load misses from various levels of cache, and to count memory read stalls. These may or may not be implemented on a specific hardware platform. There may be native events that can provide the information you're looking for. You can display all available native events using the papi_native_avail utility in the ./papi/src/utils directory. You can then use your test program to test specific events to see if they measure what you want. You may also want to look at the code for the papi_command_line utility, since it allows you to input an event name from the command line and run it against a hard-coded workload.
Dan Terpstra

Re: How to count the number of LOADS!!

Postby arrazem » Tue Jan 05, 2010 5:20 pm

Thank you for the help!

I checked that list but did not find what I was looking for although the event WAS listed there. PAPI does in fact count specific instructions such as:

PAPI_TOT_INS 0x80000032 Yes No Instructions completed
PAPI_INT_INS 0x80000033 No No Integer instructions
PAPI_FP_INS 0x80000034 Yes No Floating point instructions
PAPI_LD_INS 0x80000035 No No Load instructions
PAPI_SR_INS 0x80000036 No No Store instructions
PAPI_BR_INS 0x80000037 Yes No Branch instructions
PAPI_VEC_INS 0x80000038 Yes No Vector/SIMD instructions
PAPI_RES_STL 0x80000039 Yes No Cycles stalled on any resource
PAPI_FP_STAL 0x8000003a No No Cycles the FP unit(s) are stalled

But as you can see, the hardware in my machine does not support it.

Thanks again!
Posts: 9
Joined: Mon Jan 04, 2010 4:49 pm

Re: How to count the number of LOADS!!

Postby Dan Terpstra » Tue Jan 05, 2010 5:53 pm

You're right, there is a PRESET event that measures load instructions. I thought there was, but didn't find it earlier today.And although it hasn't been defined for this architecture, that doesn't mean there might not be an event native to this platform that might give you something close to what you are looking for. I still suggest that you use the papi_native_avail utility to scan the (much longer) list of native events and see if there might be one (or several) that might count what you're interested in.
Dan Terpstra

Return to General discussion

Who is online

Users browsing this forum: No registered users and 1 guest