Blame src/utils/papi_clockres.c

Packit Service a1973e
/** file clockres.c
Packit Service a1973e
  *
Packit Service a1973e
  * @page papi_clockres
Packit Service a1973e
  * @brief The papi_clockres utility.
Packit Service a1973e
  *	@section Name
Packit Service a1973e
  * papi_clockres - measures and reports clock latency and resolution for PAPI timers. 
Packit Service a1973e
  *
Packit Service a1973e
  * @section Synopsis
Packit Service a1973e
  *	@section Description
Packit Service a1973e
  *	papi_clockres is a PAPI utility program that measures and reports the
Packit Service a1973e
  *	latency and resolution of the four PAPI timer functions:
Packit Service a1973e
  *	PAPI_get_real_cyc(), PAPI_get_virt_cyc(), PAPI_get_real_usec() and PAPI_get_virt_usec().
Packit Service a1973e
  *
Packit Service a1973e
  *	@section Options
Packit Service a1973e
  *		This utility has no command line options.
Packit Service a1973e
  *
Packit Service a1973e
  *	@section Bugs
Packit Service a1973e
  *	There are no known bugs in this utility.
Packit Service a1973e
  *	If you find a bug, it should be reported to the PAPI Mailing List at <ptools-perfapi@icl.utk.edu>.
Packit Service a1973e
  *
Packit Service a1973e
  */
Packit Service a1973e
Packit Service a1973e
#include <stdio.h>
Packit Service a1973e
#include <stdlib.h>
Packit Service a1973e
Packit Service a1973e
#include "papi.h"
Packit Service a1973e
Packit Service a1973e
#include "../testlib/clockcore.h"
Packit Service a1973e
Packit Service a1973e
int
Packit Service a1973e
main( int argc, char **argv )
Packit Service a1973e
{
Packit Service a1973e
	(void) argc;
Packit Service a1973e
	(void) argv;
Packit Service a1973e
Packit Service a1973e
	int retval;
Packit Service a1973e
Packit Service a1973e
	retval = PAPI_library_init( PAPI_VER_CURRENT );
Packit Service a1973e
	if (retval != PAPI_VER_CURRENT ) {
Packit Service a1973e
		fprintf(stderr,"Error with PAPI init!\n");
Packit Service a1973e
		return 1;
Packit Service a1973e
	}
Packit Service a1973e
Packit Service a1973e
	retval = PAPI_set_debug( PAPI_VERB_ECONT );
Packit Service a1973e
	if (retval != PAPI_OK ) {
Packit Service a1973e
		fprintf(stderr,"Error with PAPI_set_debug!\n");
Packit Service a1973e
		return 1;
Packit Service a1973e
	}
Packit Service a1973e
Packit Service a1973e
	printf( "Printing Clock latency and resolution.\n" );
Packit Service a1973e
	printf( "-----------------------------------------------\n" );
Packit Service a1973e
Packit Service a1973e
	retval=clockcore( 0 );
Packit Service a1973e
	if (retval<0) {
Packit Service a1973e
		fprintf(stderr,"Error reading clock!\n");
Packit Service a1973e
		return retval;
Packit Service a1973e
	}
Packit Service a1973e
Packit Service a1973e
	return 0;
Packit Service a1973e
}