Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

papi_add_events(3) [centos man page]

PAPI_add_events(3)						       PAPI							PAPI_add_events(3)

NAME
PAPI_add_events - add multiple PAPI presets or native hardware events to an event set SYNOPSIS
Detailed Description @par C Interface: int PAPI_add_events( int EventSet, int * EventCodes, int number ); PAPI_add_event adds one event to a PAPI Event Set. PAPI_add_events does the same, but for an array of events. @n A hardware event can be either a PAPI preset or a native hardware event code. For a list of PAPI preset events, see PAPI_presets or run the avail test case in the PAPI distribution. PAPI presets can be passed to PAPI_query_event to see if they exist on the underlying architecture. For a list of native events available on current platform, run native_avail test case in the PAPI distribution. For the encoding of native events, see PAPI_event_name_to_code to learn how to generate native code for the supported native event on the underlying architecture. @param EventSet An integer handle for a PAPI Event Set as created by PAPI_create_eventset. @param *EventCode An array of defined events. @param number An integer indicating the number of events in the array *EventCode. It should be noted that PAPI_add_events can partially succeed, exactly like PAPI_remove_events. @retval Positive-Integer The number of consecutive elements that succeeded before the error. @retval PAPI_EINVAL One or more of the arguments is invalid. @retval PAPI_ENOMEM Insufficient memory to complete the operation. @retval PAPI_ENOEVST The event set specified does not exist. @retval PAPI_EISRUN The event set is currently counting events. @retval PAPI_ECNFLCT The underlying counter hardware can not count this event and other events in the event set simultaneously. @retval PAPI_ENOEVNT The PAPI preset is not available on the underlying hardware. @retval PAPI_EBUG Internal error, please send mail to the developers. @par Examples: * int EventSet = PAPI_NULL; * unsigned int native = 0x0; * if ( PAPI_create_eventset( &EventSet ) != PAPI_OK ) * handle_error( 1 ); * // Add Total Instructions Executed to our EventSet * if ( PAPI_add_event( EventSet, PAPI_TOT_INS ) != PAPI_OK ) * handle_error( 1 ); * // Add native event PM_CYC to EventSet * if ( PAPI_event_name_to_code( "PM_CYC", &native ) != PAPI_OK ) * handle_error( 1 ); * if ( PAPI_add_event( EventSet, native ) != PAPI_OK ) * handle_error( 1 ); * @see PAPI_cleanup_eventset @n PAPI_destroy_eventset @n PAPI_event_code_to_name @n PAPI_remove_events @n PAPI_query_event @n PAPI_presets @n PAPI_native @n PAPI_remove_event.fi Author Generated automatically by Doxygen for PAPI from the source code. Version 5.2.0.0 Tue Jun 17 2014 PAPI_add_events(3)

Check Out this Related Man Page

PAPI_detach(3)							       PAPI							    PAPI_detach(3)

NAME
PAPI_detach - Detach PAPI event set from previously specified thread id and restore to executing thread. SYNOPSIS
Detailed Description @par C Interface: int PAPI_detach( int EventSet, unsigned long tid ); PAPI_detach is a wrapper function that calls PAPI_set_opt to allow PAPI to monitor performance counts on a thread other than the one currently executing. This is sometimes referred to as third party monitoring. PAPI_attach connects the specified EventSet to the specifed thread; PAPI_detach breaks that connection and restores the EventSet to the original executing thread. @param EventSet An integer handle for a PAPI EventSet as created by PAPI_create_eventset. @param tid A thread id as obtained from, for example, PAPI_list_threads or PAPI_thread_id. @retval PAPI_ECMP This feature is unsupported on this component. @retval PAPI_EINVAL One or more of the arguments is invalid. @retval PAPI_ENOEVST The event set specified does not exist. @retval PAPI_EISRUN The event set is currently counting events. @par Examples: * int EventSet = PAPI_NULL; * unsigned long pid; * pid = fork( ); * if ( pid <= 0 ) * exit( 1 ); * if ( PAPI_create_eventset( &EventSet ) != PAPI_OK ) * exit( 1 ); * // Add Total Instructions Executed to our EventSet * if ( PAPI_add_event( EventSet, PAPI_TOT_INS ) != PAPI_OK ) * exit( 1 ); * // Attach this EventSet to the forked process * if ( PAPI_attach( EventSet, pid ) != PAPI_OK ) * exit( 1 ); * See Also: PAPI_set_opt PAPI_list_threads PAPI_thread_id PAPI_thread_init Author Generated automatically by Doxygen for PAPI from the source code. Version 5.2.0.0 Tue Jun 17 2014 PAPI_detach(3)
Man Page