NAME
PAPI_start, PAPI_stop - start/stop counting hardware events in an event set
CONTENTS
Synopsis
Description
Arguments
Return Values
Errors
Examples
Authors
Bugs
See Also
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
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_ENOEVNT | |
The PAPI preset is not available on the underlying hardware.
|
|
EXAMPLES
int EventSet = PAPI_NULL;
unsigned int native = 0x0;
long_long values[1];
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]);
AUTHORS
The PAPI Team. See them at the PAPI Web Site:
http://icl.cs.utk.edu/projects/papi
BUGS
These functions have no known bugs.
SEE ALSO
PAPI_create_eventset (3),
PAPI_destroy_eventset (3),
PAPI_add_event (3),
PAPI_remove_event (3),
PAPI_reset (3),
PAPI_set_opt (3),
PAPI Programmers Reference | PAPI_start (3) | November, 2003 |
|
|