DOKK / manpages / debian 12 / libpapi-dev / PAPI_ipc.3.en
PAPI_ipc(3) PAPI PAPI_ipc(3)

PAPI_ipc -

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

C Interface:

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

Parameters:

*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:

PAPI_flips_rate()

PAPI_flops_rate()

PAPI_epc()

PAPI_rate_stop()

Generated automatically by Doxygen for PAPI from the source code.

Mon Nov 14 2022 Version 7.0.0.0