Scroll to navigation

PAPI_ipc(3) PAPI PAPI_ipc(3)


PAPI_ipc -

Simplified call to get instructions per cycle, real and processor time.


Detailed Description

C Interface:

#include <papi.h>
int PAPI_ipc( float *rtime, float *ptime, long long *ins, float *ipc );


*rtime realtime since the latest call
*ptime process time since the latest call
*ins instructions since the latest call
*ipc incremental instructions per cycle since the latest call

Return values:

PAPI_EINVAL The counters were already started by something other than PAPI_ipc().
PAPI_ENOEVNT The events PAPI_TOT_INS and PAPI_TOT_CYC are not supported.
PAPI_ENOMEM Insufficient memory to complete the operation.

The first call to PAPI_ipc() will initialize the PAPI interface, set up the counters to monitor PAPI_TOT_INS and PAPI_TOT_CYC events and start the counters.

Subsequent calls will read the counters and return real time, process time, instructions and the IPC rate since the latest call to PAPI_ipc().

PAPI_ipc() should return a ratio greater than 1.0, indicating instruction level parallelism within the chip. The larger this ratio the more effeciently the program is running. Note that PAPI_ipc() is thread-safe and can therefore be called by multiple threads.

See Also:






Generated automatically by Doxygen for PAPI from the source code.

Thu Feb 27 2020 Version