[Ptools-perfapi] Building papi components.

William Cohen wcohen at redhat.com
Thu Oct 20 16:00:23 EDT 2011

On 03/26/2010 04:55 PM, Dan Terpstra wrote:
> Gary -
> Sorry for the long delay on this response. I was out of the country last
> week and spending this week trying to catch up. The only documentation we
> have on developing a component is linked below. This is a wiki and a work in
> progress. If you have lessons learned that you would like to contribute,
> please let us know.
> Thanks,
> - dan
> http://icl.cs.utk.edu/projects/papi/wiki/PAPIC:CDI
> http://icl.cs.utk.edu/projects/papi/wiki/PAPIC:Component_Development_Cookboo
> k

I have been taking a look at building papi with the components. And ran into this same problem with the component configuration Shouldn't the ./configure at the src level also trigger the configures in the component subdirectories?

I have a scratch rpm based on code currently in the papi cvs repository for fedora 15:


It the spec file explicitly goes into the component directories to do the additional "configure"s.

Why does src/components/lmsensors/Rules.lmsensors require the static libsensors.a? Fedora lm_sensors-devel RPM only has the shared .so version.

>> -----Original Message-----
>> From: Gary.Mohr at Bull.com [mailto:Gary.Mohr at Bull.com]
>> Sent: Wednesday, March 17, 2010 8:01 PM
>> To: ptools-perfapi at eecs.utk.edu
>> Cc: Dan Terpstra
>> Subject: Documentation for writing papi components.
>> Dan
>> As I think I mentioned to you before I am building a papi component to
>> support a propriety piece of Bull Hardware that contains performance
>> counters.  It did not take much to clone the net component you guys
>> deliver
>> and create my very own component and I have managed to get event lists
>> built into it and can list them from a papi application.  The part I am
>> working on now is to actually put the correct encoding for one of my
>> events
>> into an event set so a call to PAPI_start can configure the hardware to
>> count the events I request.
>> This has led to some guessing on my part regarding how the component
>> functions pointed to by the papi_vector get used and what type of things
>> are supposed to happen in each.
>> Is there any documentation that would describe the purpose and
>> responsibility of each of these functions ??
>> Some of them are obvious (ex: xxx_ntv_name_to_code)  but others (ex:
>> xxx_allocate_registers, xxx_update_control_state) seem less intuitive.
>> I also see that there are a number of data structures defined
>> (hwd_context_t, hwd_control_state_t, hwd_register_t, and a few others)
>> that
>> are defined as opaque (void) to the framework and reserved for the
>> component to store its information.  It looks to me like these structures
>> are created by the framework (using sizes provided in the vector) and
>> passed to many of the component functions.
>> Is there any documentation that describes what type of data belongs in
>> these structures ??
>> And I guess the most important question of all is: Are you the correct guy
>> to pester with these kinds of questions ?
>> Just trying to get a little less lost.
>> Thanks
>> Gary
> _______________________________________________
> Ptools-perfapi mailing list
> Ptools-perfapi at eecs.utk.edu
> http://lists.eecs.utk.edu/mailman/listinfo/ptools-perfapi

More information about the Ptools-perfapi mailing list