> > I don't think PAPI's solution really solves the "quick load time + small > > foot print" issue for libpfm. If you just used caching, I think it > solves > > both problems, but would require that the XML file be available > somewhere > > when libpfm is loaded up the first time. If the XML file is never > modified > > from then on, you'd always get the cached up data structure sitting in a > > file ready to be mmap'd into libpfm's space. > > > It is solved if in a large cluster PAPI is configured to always use > the hardcoded > event table but at the price of losing the flexibility of the external > file. > PAPI provides a comma separated value text file that defines preset events in terms of native events. I would probably have preferred xml, but evolution and the path of least resistance produced this. Originally, it was always read in and parsed at PAPI init time. That caused exactly the problem you describe for large Cray clusters. Steve Kaufmann @ Cray came up with a quick script to convert the csv file into a header file and embed it in the code. This has become the default option for building PAPI. The flexibility is still available as an override primarily for development and testing. The logic is still the same to parse the file; it's just parsed in place instead of read in from the file system. This provides the quick load, but does increase the footprint. It appears to me that libpfm compiles and includes event tables for every platform it supports. Is that correct? If so, it doesn't seem that footprint is a major issue. Also, would it be possible to source this info in an xml file that is then converted at build time to a compact binary representation for consumption by libpfm? That should reduce the size and increase the speed, but at the expense of runtime flexibility, requiring a rebuild of libpfm if the event info changes. - d
------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel