Scroll to navigation

PAPI_ipc(3) PAPI PAPI_ipc(3)

NAME

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

SYNOPSIS

Detailed Description

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()

Author

Generated automatically by Doxygen for PAPI from the source code.

Thu Dec 14 2023 Version 7.1.0.0