PAPI_flops (3) - Linux Manuals


PAPI_flops -

Simplified call to get Mflops/s (floating point operation rate), real and processor time.


Detailed Description

C Interface:

#include <papi.h>
int PAPI_flops( float *rtime, float *ptime, long long *flpops, float *mflops );


*rtime total realtime since the first call
*ptime total process time since the first call
*flpops total floating point operations since the first call
*mflops incremental (Mega) floating point operations per seconds since the last call

Return values:

PAPI_EINVAL The counters were already started by something other than PAPI_flops().
PAPI_ENOEVNT The floating point operations event does not exist.
PAPI_ENOMEM Insufficient memory to complete the operation.

The first call to PAPI_flops() will initialize the PAPI High Level interface, set up the counters to monitor the PAPI_FP_OPS event and start the counters.

Subsequent calls will read the counters and return total real time, total process time, total floating point operations since the start of the measurement and the Mflop/s rate since latest call to PAPI_flops(). A call to PAPI_stop_counters() will stop the counters from running and then calls such as PAPI_start_counters() or other rate calls can safely be used.

PAPI_flops returns information related to theoretical floating point operations rather than simple instructions. It uses the PAPI_FP_OPS event which attempts to 'correctly' account for, e.g., FMA undercounts and FP Store overcounts, etc.

See Also:






Generated automatically by Doxygen for PAPI from the source code.