Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

papi_set_multiplex(3) [centos man page]

PAPI_set_multiplex(3)						       PAPI						     PAPI_set_multiplex(3)

NAME
PAPI_set_multiplex - Convert a standard event set to a multiplexed event set. SYNOPSIS
Detailed Description C Interface: #include <papi.h> int PAPI_set_multiplex( int EventSet ); Parameters: EventSet an integer handle for a PAPI event set as created by PAPI_create_eventset Return values: PAPI_OK PAPI_EINVAL -- One or more of the arguments is invalid, or the EventSet is already multiplexed. PAPI_ENOCMP -- The EventSet specified is not yet bound to a component. PAPI_ENOEVST -- The EventSet specified does not exist. PAPI_EISRUN -- The EventSet is currently counting events. PAPI_ENOMEM -- Insufficient memory to complete the operation. PAPI_set_multiplex converts a standard PAPI event set created by a call to PAPI_create_eventset into an event set capable of handling multiplexed events. This must be done after calling PAPI_multiplex_init, and either PAPI_add_event or PAPI_assign_eventset_component, but prior to calling PAPI_start(). Events can be added to an event set either before or after converting it into a multiplexed set, but the conversion must be done prior to using it as a multiplexed set. Note: Multiplexing can't be enabled until PAPI knows which component is targeted. Due to the late binding nature of PAPI event sets, this only happens after adding an event to an event set or explicitly binding the component with a call to PAPI_assign_eventset_component. Example: * int EventSet = PAPI_NULL; * int ret; * * // Create an empty EventSet * ret = PAPI_create_eventset(&EventSet); * if (ret != PAPI_OK) handle_error(ret); * * // Bind it to the CPU component * ret = PAPI_assign_eventset_component(EventSet, 0); * if (ret != PAPI_OK) handle_error(ret); * * // Check current multiplex status * ret = PAPI_get_multiplex(EventSet); * if (ret == TRUE) printf("This event set is ready for multiplexing.") * if (ret == FALSE) printf("This event set is not enabled for multiplexing.") * if (ret < 0) handle_error(ret); * * // Turn on multiplexing * ret = PAPI_set_multiplex(EventSet); * if ((ret == PAPI_EINVAL) && (PAPI_get_multiplex(EventSet) == TRUE)) * printf("This event set already has multiplexing enabled0); * else if (ret != PAPI_OK) handle_error(ret); * See Also: PAPI_multiplex_init PAPI_get_multiplex PAPI_set_opt PAPI_create_eventset Author Generated automatically by Doxygen for PAPI from the source code. Version 5.2.0.0 Tue Jun 17 2014 PAPI_set_multiplex(3)

Check Out this Related Man Page

PAPI_remove_events(3)						       PAPI						     PAPI_remove_events(3)

NAME
PAPI_remove_events - Remove an array of hardware event codes from a PAPI event set. SYNOPSIS
Detailed Description 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 papi_avail utility 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 papi_native_avail in the PAPI distribution. It should be noted that PAPI_remove_events can partially succeed, exactly like PAPI_add_events. C Prototype: #include <papi.h> int PAPI_remove_events( int EventSet, int * EventCode, int number ); Parameters: EventSet an integer handle for a PAPI event set as created by PAPI_create_eventset *Events an array of defined events number an integer indicating the number of events in the array *EventCode Return values: Positive integer The number of consecutive elements that succeeded before the error. PAPI_EINVAL One or more of the arguments is invalid. PAPI_ENOEVST The EventSet specified does not exist. PAPI_EISRUN The EventSet is currently counting events. PAPI_ECNFLCT The underlying counter hardware can not count this event and other events in the EventSet simultaneously. PAPI_ENOEVNT The PAPI preset is not available on the underlying hardware. Example: int EventSet = PAPI_NULL; int Events[] = {PAPI_TOT_INS, PAPI_FP_OPS}; int ret; // Create an empty EventSet ret = PAPI_create_eventset(&EventSet); if (ret != PAPI_OK) handle_error(ret); // Add two events to our EventSet ret = PAPI_add_events(EventSet, Events, 2); if (ret != PAPI_OK) handle_error(ret); // Start counting ret = PAPI_start(EventSet); if (ret != PAPI_OK) handle_error(ret); // Stop counting, ignore values ret = PAPI_stop(EventSet, NULL); if (ret != PAPI_OK) handle_error(ret); // Remove event ret = PAPI_remove_events(EventSet, Events, 2); if (ret != PAPI_OK) handle_error(ret); * @see PAPI_cleanup_eventset PAPI_destroy_eventset PAPI_event_name_to_code PAPI_presets PAPI_add_event PAPI_add_events.fi Author Generated automatically by Doxygen for PAPI from the source code. Version 5.2.0.0 Tue Jun 17 2014 PAPI_remove_events(3)
Man Page