NAME

PAPI_rem_event, PAPI_rem_events, PAPI_rem_pevent - remove PAPI preset or native hardware event from an EventSet

CONTENTS

Synopsis
Description
Arguments
Return Values
Errors
Examples
Author
Bugs
See Also

SYNOPSIS

C Interface

#include <papi.h> 

int PAPI_rem_event(int *EventSet, int EventCode); 

int PAPI_rem_events(int *EventSet, int *EventCode, int number); 

int PAPI_rem_pevent(int *EventSet, int code, void * misc); 

Fortran Interface

#include fpapi.h 

PAPIF_rem_event(C_INT EventSet, C_INT EventCode, C_INT check) 

PAPIF_rem_events(C_INT EventSet, C_INT(*) EventCode, C_INT number, C_INT check) 

DESCRIPTION

PAPI_rem_event() removes a hardware event to a PAPI event set. PAPI_rem_events() does the same, but for an array of hardware event codes. PAPI_rem_pevent() is reserved for future use.

ARGUMENTS

EventSet -- an integer handle for a PAPI event set as created by PAPI_create_eventset (3)

EventCode -- a defined event such as PAPI_TOT_INS or a native event.

*EventCode -- an array of defined events

number -- an integer indicating the number of events in the array *EventCode

A hardware event can be either a PAPI Preset or a native hardware event code. For a list of PAPI preset events, see PAPI_presets (3) or run the avail test case in the PAPI distribution. PAPI Presets can be passed to PAPI_query_event (3) to see if they exist on the underlying architecture. For the encoding of native events, see the <arch>.README file also included the distribution.

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_ENOEVST
  The EventSet specified does not exist.
PAPI_EISRUN
  The EventSet is currently counting events.
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;
        
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);

/* Stop counting, ignore values */

if (PAPI_stop(EventSet, NULL) != PAPI_OK) handle_error(1);

/* Remove event */

if (PAPI_rem_event(&EventSet, PAPI_TOT_INS) != PAPI_OK) handle_error(1);

AUTHOR

Philip J. Mucci <mucci@cs.utk.edu>

BUGS

These functions have no known bugs.

SEE ALSO

PAPI_preset (3), PAPI_set_opt (3), PAPI_start (3), PAPI_add_event (3), PAPI_add_events (3), PAPI_add_pevents (3), PAPI_query (3), PAPI_cleanup_eventset (3), PAPI_destroy_eventset (3),
The PAPI Web Site: http://icl.cs.utk.edu/projects/papi


PAPI Function Reference PAPI_rem_event (3) December, 2001

  Innovative Computing Laboratory
2001 R&D Winner  
Contact PAPI: papi@cs.utk.edu Computer Science Department
  University of Tennessee