Scroll to navigation

PAPI_start(3) PAPI PAPI_start(3)

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

RETURN VALUES

On success, this function returns PAPI_OK.
On error, a non-zero error code is returned.

ERRORS

One or more of the arguments is invalid.
A system or C library call failed inside PAPI, see the errno variable.
The EventSet specified does not exist.
The EventSet is currently counting events. (PAPI_start() only)
The EventSet is currently not running. (PAPI_stop() only)
The underlying counter hardware can not count this event and other events in the EventSet simultaneously. (PAPI_start() only)
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_create_eventset(3), PAPI_add_event(3), PAPI(3), PAPIF(3)

September, 2004 PAPI Programmer's Reference