PAPI3:PAPI start.3
From PAPIDocs
(Redirected from PAPI3:PAPI stop.3)
Jump to: navigation, search


Name

  • PAPI_start - start counting hardware events in an event set
  • PAPI_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_start starts counting all of the hardware events contained in the previously defined EventSet. All counters are implicitly set to zero before counting.

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

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]);

Bugs

These functions have no known bugs.

See Also

PAPI(3), PAPIF(3), PAPI_create_eventset(3), PAPI_add_event(3)