PAPI_flops

Langue: en

Version: September, 2004 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

   PAPI_flips - PAPI High level: Simplified call to get Mflips/s, real and processor time
   PAPI_flops - PAPI High level: Simplified call to get Mflops/s, real and processor time
 

SYNOPSIS

C Interface
 #include <papi.h>
 int PAPI_flips (float *rtime, float *ptime, long_long *flpins, float *mflips);
 int PAPI_flops (float *rtime, float *ptime, long_long *flpops, float *mflops);
 
Fortran Interface
 #include fpapi.h
 PAPIF_flips(C_FLOAT real_time, C_FLOAT proc_time, C_LONG_LONG flpins, C_FLOAT mflips, C_INT check)
 PAPIF_flops(C_FLOAT real_time, C_FLOAT proc_time, C_LONG_LONG flpops, C_FLOAT mflops, C_INT check)
 

DESCRIPTION

The first call to PAPI_flips() or PAPI_flops() will initialize the PAPI High Level interface, set up the counters to monitor PAPI_FP_INS or PAPI_FP_OPS and PAPI_TOT_CYC events and start the counters. Subsequent calls will read the counters and return total real time, total process time, total floating point instructions or operations since the start of the measurement and the Mflip/s or Mflop/s rate since latest call to PAPI_flips() or PAPI_flops(). A call to PAPI_stop_counters() will stop the counters from running and then calls such as PAPI_start_counters() can safely be used.

ARGUMENTS

*rtime -- total realtime since the first PAPI_flops() call

*ptime -- total process time since the first PAPI_flops() call

*flpins, flpops -- total floating point instructions or operations since the first call

*mflips, *mflops -- Mflip/s or Mflop/s achieved since the previous call

RETURN VALUES

On success, this function returns PAPI_OK.
 On error, a non-zero error code is returned. 

ERRORS


 In addition to the possible errors returned by the various PAPI low level calls, the following errors could also be returned:
PAPI_EINVAL
The counters were already started by something other than: PAPI_flips() or PAPI_flops().
PAPI_ENOEVNT
The floating point operations,floating point instruction or total cycles event does not exist.
PAPI_ENOMEM
Insufficient memory to complete the operation.

NOTES

Mflip/s, or millions of floating point instructions per second, is defined in this context as the number of instructions issued to the floating point unit per second. It is usually calculated directly from a counter measurement and may be different from platform to platform. Mflop/s, or millions of floating point operations per second, is intended to represent the number of floating point arithmetic operations per second. Attempts are made to massage the counter values to produce the theoreticallly expected value by, for instance, doubling FMA counts or subtracting floating point loads and stores if necessary. CAVEAT EMPTOR

 PAPI_flops()andPAPI_flips() may be called by:
     
     the user application program
 
     
 PAPI_flops() contains calls to:
     
     PAPI_perror()
     PAPI_library_init()
     PAPI_get_hardware_info()
     PAPI_create_eventset()
     PAPI_add_event()
     PAPI_start()
     PAPI_get_real_usec()
     PAPI_accum()
     PAPI_shutdown()
 

BUGS

These functions have no known bugs.

SEE ALSO

PAPI_stop_counters (3),PAPI_ipc (3),PAPI_set_opt (3)