papi_start(3) - Linux man page
Name
PAPI_start - start counting hardware events in an event setPAPI_stop - stop counting hardware events in an event set
Synopsis
C Interface#include <papi.h>int PAPI_start(int EventSet);int PAPI_stop(int EventSet, long_long *values);Fortran Interface
#include "fpapi.h"PAPIF_start(C_INT EventSet, C_INT check)PAPIF_stop(C_INT EventSet, C_LONG_LONG(*) values, C_INT check)
Description
PAPI_stop halts the counting of a previously defined event set and the counter values contained in that EventSet are copied into the values array
These calls assume an initialized PAPI library and a properly added event set.
Arguments
EventSet -- an integer handle for a PAPI event set as created by papi_create_eventset(3)*values -- an array to hold the
counter values of the counting events
Return Values
On success, this function returns PAPI_OK. On error, a non-zero error code is returned.Errors
- PAPI_EINVAL
- One or more of the arguments is invalid.
- PAPI_ESYS
- A system or C library call failed inside PAPI, see the errno variable.
- PAPI_ENOEVST
- The EventSet specified does not exist.
- PAPI_EISRUN
- The EventSet is currently counting events. (PAPI_start() only)
- PAPI_ENOTRUN
- The EventSet is currently not running. (PAPI_stop() only)
- PAPI_ECNFLCT
- The underlying counter hardware can not count this event and other events in the EventSet simultaneously. (PAPI_start() only)
- PAPI_ENOEVNT
- The PAPI preset is not available on the underlying hardware.
Examples
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);
/* Start counting */
if (PAPI_start(EventSet) != PAPI_OK)
handle_error(1);
poorly_tuned_function();
if (PAPI_stop(EventSet, values) != PAPI_OK)
handle_error(1);
printf("%lld\n",values[0]);