Attach PAPI event set to the specified thread id. More...
PAPI_attach 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.
|EventSet||An integer handle for a PAPI EventSet as created by PAPI_create_eventset.|
|tid||A thread id as obtained from, for example, PAPI_list_threads or PAPI_thread_id.|
|PAPI_ECMP||This feature is unsupported on this component.|
|PAPI_EINVAL||One or more of the arguments is invalid.|
|PAPI_ENOEVST||The event set specified does not exist.|
|PAPI_EISRUN||The event set is currently counting events.|
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 );