Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

papi_get_thr_specific(3) [centos man page]

PAPI_get_thr_specific(3)					       PAPI						  PAPI_get_thr_specific(3)

NAME
PAPI_get_thr_specific - Retrieve a pointer to a thread specific data structure. SYNOPSIS
Detailed Description @par Prototype: int PAPI_get_thr_specific( int tag, void **ptr ); @param tag An identifier, the value of which is either PAPI_USR1_TLS or PAPI_USR2_TLS. This identifier indicates which of several data structures associated with this thread is to be accessed. @param ptr A pointer to the memory containing the data structure. @retval PAPI_OK @retval PAPI_EINVAL The @em tag argument is out of range. In C, PAPI_get_thr_specific PAPI_get_thr_specific will retrieve the pointer from the array with index @em tag. There are 2 user available locations and @em tag can be either PAPI_USR1_TLS or PAPI_USR2_TLS. The array mentioned above is managed by PAPI and allocated to each thread which has called PAPI_thread_init. There is no Fortran equivalent function. @par Example: int ret; HighLevelInfo *state = NULL; ret = PAPI_thread_init(pthread_self); if (ret != PAPI_OK) handle_error(ret); // Do we have the thread specific data setup yet? ret = PAPI_get_thr_specific(PAPI_USR1_TLS, (void *) &state); if (ret != PAPI_OK || state == NULL) { state = (HighLevelInfo *) malloc(sizeof(HighLevelInfo)); if (state == NULL) return (PAPI_ESYS); memset(state, 0, sizeof(HighLevelInfo)); state->EventSet = PAPI_NULL; ret = PAPI_create_eventset(&state->EventSet); if (ret != PAPI_OK) return (PAPI_ESYS); ret = PAPI_set_thr_specific(PAPI_USR1_TLS, state); if (ret != PAPI_OK) return (ret); } * See Also: PAPI_register_thread PAPI_thread_init PAPI_thread_id PAPI_set_thr_specific Author Generated automatically by Doxygen for PAPI from the source code. Version 5.2.0.0 Tue Jun 17 2014 PAPI_get_thr_specific(3)

Check Out this Related Man Page

PAPI_remove_named_event(3)					       PAPI						PAPI_remove_named_event(3)

NAME
PAPI_remove_named_event - removes a named hardware event 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 the current platform, run papi_native_avail in the PAPI distribution. @par C Interface: int PAPI_remove_event( int EventSet, int EventCode ); @param[in] EventSet -- an integer handle for a PAPI event set as created by PAPI_create_eventset @param[in] EventName -- a defined event such as PAPI_TOT_INS or a native event. @retval PAPI_OK Everything worked. @retval PAPI_EINVAL One or more of the arguments is invalid. @retval PAPI_ENOINIT The PAPI library has not been initialized. @retval PAPI_ENOEVST The EventSet specified does not exist. @retval PAPI_EISRUN The EventSet is currently counting events. @retval PAPI_ECNFLCT The underlying counter hardware can not count this event and other events in the EventSet simultaneously. @retval PAPI_ENOEVNT The PAPI preset is not available on the underlying hardware. @par Example: * char EventName = "PAPI_TOT_INS"; * int EventSet = PAPI_NULL; * int ret; * * // Create an empty EventSet * ret = PAPI_create_eventset(&EventSet); * if (ret != PAPI_OK) handle_error(ret); * * // Add Total Instructions Executed to our EventSet * ret = PAPI_add_named_event(EventSet, EventName); * 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_named_event(EventSet, EventName); * if (ret != PAPI_OK) handle_error(ret); * See Also: PAPI_remove_event PAPI_query_named_event PAPI_add_named_event Author Generated automatically by Doxygen for PAPI from the source code. Version 5.2.0.0 Tue Jun 17 2014 PAPI_remove_named_event(3)
Man Page