|
Packit |
577717 |
/**
|
|
Packit |
577717 |
* @file papi_preset.h
|
|
Packit |
577717 |
* @author Haihang You
|
|
Packit |
577717 |
* you@cs.utk.edu
|
|
Packit |
577717 |
*/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#ifndef _PAPI_PRESET /* _PAPI_PRESET */
|
|
Packit |
577717 |
#define _PAPI_PRESET
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/** search element for preset events defined for each platform
|
|
Packit |
577717 |
* @internal */
|
|
Packit |
577717 |
typedef struct hwi_search {
|
|
Packit |
577717 |
/* eventcode should have a more specific name, like papi_preset! -pjm */
|
|
Packit |
577717 |
unsigned int event_code; /**< Preset code that keys back to sparse preset array */
|
|
Packit |
577717 |
int derived; /**< Derived type code */
|
|
Packit |
577717 |
int native[PAPI_EVENTS_IN_DERIVED_EVENT]; /**< array of native event code(s) for this preset event */
|
|
Packit |
577717 |
char operation[PAPI_2MAX_STR_LEN]; /**< operation string: +,-,*,/,@(number of metrics), $(constant Mhz), %(1000000.0) */
|
|
Packit |
577717 |
char *note; /**< optional developer notes for this event */
|
|
Packit |
577717 |
} hwi_search_t;
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/** collected text and data info for all preset events
|
|
Packit |
577717 |
* @internal */
|
|
Packit |
577717 |
typedef struct hwi_presets {
|
|
Packit |
577717 |
char *symbol; /**< name of the preset event; i.e. PAPI_TOT_INS, etc. */
|
|
Packit |
577717 |
char *short_descr; /**< short description of the event for labels, etc. */
|
|
Packit |
577717 |
char *long_descr; /**< long description (full sentence) */
|
|
Packit |
577717 |
int derived_int; /**< Derived type code */
|
|
Packit |
577717 |
|
|
Packit |
577717 |
unsigned int count;
|
|
Packit |
577717 |
unsigned int event_type;
|
|
Packit |
577717 |
char *postfix;
|
|
Packit |
577717 |
unsigned int code[PAPI_MAX_INFO_TERMS];
|
|
Packit |
577717 |
char *name[PAPI_MAX_INFO_TERMS];
|
|
Packit |
577717 |
char *note;
|
|
Packit |
577717 |
} hwi_presets_t;
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/** This is a general description structure definition for various parameter lists
|
|
Packit |
577717 |
* @internal */
|
|
Packit |
577717 |
typedef struct hwi_describe {
|
|
Packit |
577717 |
int value; /**< numeric value (from papi.h) */
|
|
Packit |
577717 |
char *name; /**< name of the element */
|
|
Packit |
577717 |
char *descr; /**< description of the element */
|
|
Packit |
577717 |
} hwi_describe_t;
|
|
Packit |
577717 |
|
|
Packit |
577717 |
extern hwi_search_t *preset_search_map;
|
|
Packit |
577717 |
|
|
Packit |
577717 |
int _papi_hwi_setup_all_presets( hwi_search_t * findem, int cidx);
|
|
Packit |
577717 |
int _papi_hwi_cleanup_all_presets( void );
|
|
Packit |
577717 |
int _xml_papi_hwi_setup_all_presets( char *arch);
|
|
Packit |
577717 |
int _papi_load_preset_table( char *name, int type, int cidx );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
extern hwi_presets_t _papi_hwi_presets[PAPI_MAX_PRESET_EVENTS];
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#endif /* _PAPI_PRESET */
|