Blame man/man3/PAPI_epc.3

Packit 577717
.TH "PAPI_epc" 3 "Mon Dec 18 2017" "Version 5.6.0.0" "PAPI" \" -*- nroff -*-
Packit 577717
.ad l
Packit 577717
.nh
Packit 577717
.SH NAME
Packit 577717
PAPI_epc \- 
Packit 577717
.PP
Packit 577717
Simplified call to get arbitrary events per cycle, real and processor time\&.  
Packit 577717
Packit 577717
.SH SYNOPSIS
Packit 577717
.br
Packit 577717
.PP
Packit 577717
.SH "Detailed Description"
Packit 577717
.PP 
Packit 577717
Packit 577717
.PP
Packit 577717
\fBC Interface: \fP
Packit 577717
.RS 4
Packit 577717
#include <\fBpapi\&.h\fP> 
Packit 577717
.br
Packit 577717
int \fBPAPI_epc( int event, float *rtime, float *ptime, long long *ref, long long *core, long long *evt, float *epc )\fP;
Packit 577717
.RE
Packit 577717
.PP
Packit 577717
\fBParameters:\fP
Packit 577717
.RS 4
Packit 577717
\fIevent\fP event code to be measured (0 defaults to PAPI_TOT_INS) 
Packit 577717
.br
Packit 577717
\fI*rtime\fP total realtime since the first call 
Packit 577717
.br
Packit 577717
\fI*ptime\fP total process time since the first call 
Packit 577717
.br
Packit 577717
\fI*ref\fP incremental reference clock cycles since the last call 
Packit 577717
.br
Packit 577717
\fI*core\fP incremental core clock cycles since the last call 
Packit 577717
.br
Packit 577717
\fI*evt\fP total events since the first call 
Packit 577717
.br
Packit 577717
\fI*epc\fP incremental events per cycle since the last call
Packit 577717
.RE
Packit 577717
.PP
Packit 577717
\fBReturn values:\fP
Packit 577717
.RS 4
Packit 577717
\fIPAPI_EINVAL\fP The counters were already started by something other than \fBPAPI_epc()\fP\&. 
Packit 577717
.br
Packit 577717
\fIPAPI_ENOEVNT\fP One of the requested events does not exist\&. 
Packit 577717
.br
Packit 577717
\fIPAPI_ENOMEM\fP Insufficient memory to complete the operation\&.
Packit 577717
.RE
Packit 577717
.PP
Packit 577717
The first call to \fBPAPI_epc()\fP will initialize the PAPI High Level interface, set up the counters to monitor the user specified event, PAPI_TOT_CYC, and PAPI_REF_CYC (if it exists) and start the counters\&.
Packit 577717
.PP
Packit 577717
Subsequent calls will read the counters and return total real time, total process time, total event counts since the start of the measurement and the core and reference cycle count and EPC rate since the latest call to \fBPAPI_epc()\fP\&.
Packit 577717
.PP
Packit 577717
A call to \fBPAPI_stop_counters()\fP will stop the counters from running and then calls such as \fBPAPI_start_counters()\fP or other rate calls can safely be used\&.
Packit 577717
.PP
Packit 577717
\fBPAPI_epc\fP can provide a more detailed look at algorithm efficiency in light of clock variability in modern cpus\&. MFLOPS is no longer an adequate description of peak performance if clock rates can arbitrarily speed up or slow down\&. By allowing a user specified event and reporting reference cycles, core cycles and real time, \fBPAPI_epc\fP provides the information to compute an accurate effective clock rate, and an accurate measure of computational throughput\&.
Packit 577717
.PP
Packit 577717
\fBSee Also:\fP
Packit 577717
.RS 4
Packit 577717
\fBPAPI_flips()\fP 
Packit 577717
.PP
Packit 577717
\fBPAPI_flops()\fP 
Packit 577717
.PP
Packit 577717
\fBPAPI_ipc()\fP 
Packit 577717
.PP
Packit 577717
\fBPAPI_stop_counters()\fP 
Packit 577717
.RE
Packit 577717
.PP
Packit 577717
Packit 577717
Packit 577717
.SH "Author"
Packit 577717
.PP 
Packit 577717
Generated automatically by Doxygen for PAPI from the source code\&.