|
Packit |
577717 |
/*
|
|
Packit |
577717 |
* This tests the use of offcore_response events
|
|
Packit |
577717 |
*/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#include <stdio.h>
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#include "papi.h"
|
|
Packit |
577717 |
#include "papi_test.h"
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#include "do_loops.h"
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#include "event_name_lib.h"
|
|
Packit |
577717 |
|
|
Packit |
577717 |
int main( int argc, char **argv ) {
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
char *instructions_event=NULL;
|
|
Packit |
577717 |
char event_name[BUFSIZ];
|
|
Packit |
577717 |
|
|
Packit |
577717 |
char user_event[BUFSIZ];
|
|
Packit |
577717 |
char kernel_event[BUFSIZ];
|
|
Packit |
577717 |
char user_kernel_event[BUFSIZ];
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
int retval;
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* Default Domain */
|
|
Packit |
577717 |
int EventSet_default = PAPI_NULL;
|
|
Packit |
577717 |
int EventSet_default_user = PAPI_NULL;
|
|
Packit |
577717 |
int EventSet_default_kernel = PAPI_NULL;
|
|
Packit |
577717 |
int EventSet_default_user_kernel = PAPI_NULL;
|
|
Packit |
577717 |
long long default_values[1];
|
|
Packit |
577717 |
long long default_user_values[1];
|
|
Packit |
577717 |
long long default_kernel_values[1];
|
|
Packit |
577717 |
long long default_user_kernel_values[1];
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* User Domain */
|
|
Packit |
577717 |
int EventSet_user = PAPI_NULL;
|
|
Packit |
577717 |
int EventSet_user_user = PAPI_NULL;
|
|
Packit |
577717 |
int EventSet_user_kernel = PAPI_NULL;
|
|
Packit |
577717 |
int EventSet_user_user_kernel = PAPI_NULL;
|
|
Packit |
577717 |
long long user_values[1];
|
|
Packit |
577717 |
long long user_user_values[1];
|
|
Packit |
577717 |
long long user_kernel_values[1];
|
|
Packit |
577717 |
long long user_user_kernel_values[1];
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* Kernel Domain */
|
|
Packit |
577717 |
int EventSet_kernel = PAPI_NULL;
|
|
Packit |
577717 |
int EventSet_kernel_user = PAPI_NULL;
|
|
Packit |
577717 |
int EventSet_kernel_kernel = PAPI_NULL;
|
|
Packit |
577717 |
int EventSet_kernel_user_kernel = PAPI_NULL;
|
|
Packit |
577717 |
long long kernel_values[1];
|
|
Packit |
577717 |
long long kernel_user_values[1];
|
|
Packit |
577717 |
long long kernel_kernel_values[1];
|
|
Packit |
577717 |
long long kernel_user_kernel_values[1];
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* All Domain */
|
|
Packit |
577717 |
int EventSet_all = PAPI_NULL;
|
|
Packit |
577717 |
int EventSet_all_user = PAPI_NULL;
|
|
Packit |
577717 |
int EventSet_all_kernel = PAPI_NULL;
|
|
Packit |
577717 |
int EventSet_all_user_kernel = PAPI_NULL;
|
|
Packit |
577717 |
long long all_values[1];
|
|
Packit |
577717 |
long long all_user_values[1];
|
|
Packit |
577717 |
long long all_kernel_values[1];
|
|
Packit |
577717 |
long long all_user_kernel_values[1];
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* Two Events */
|
|
Packit |
577717 |
int EventSet_two = PAPI_NULL;
|
|
Packit |
577717 |
long long two_values[2];
|
|
Packit |
577717 |
|
|
Packit |
577717 |
int quiet=0;
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* Set TESTS_QUIET variable */
|
|
Packit |
577717 |
quiet=tests_quiet( argc, argv );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* Init the PAPI library */
|
|
Packit |
577717 |
retval = PAPI_library_init( PAPI_VER_CURRENT );
|
|
Packit |
577717 |
if ( retval != PAPI_VER_CURRENT ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_library_init", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* Get a relevant event name */
|
|
Packit |
577717 |
instructions_event=get_instructions_event(event_name, BUFSIZ);
|
|
Packit |
577717 |
if (instructions_event==NULL) {
|
|
Packit |
577717 |
test_skip( __FILE__, __LINE__,
|
|
Packit |
577717 |
"No instructions event definition for this arch",
|
|
Packit |
577717 |
PAPI_ENOSUPP );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
sprintf(user_event,"%s:u=1",instructions_event);
|
|
Packit |
577717 |
sprintf(kernel_event,"%s:k=1",instructions_event);
|
|
Packit |
577717 |
sprintf(user_kernel_event,"%s:u=1:k=1",instructions_event);
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
/* Two Events */
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if (!quiet) {
|
|
Packit |
577717 |
printf("\tTwo Events in same EventSet\n");
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_two);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_two, user_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s %s\n",user_event,PAPI_strerror(retval));
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_skip( __FILE__, __LINE__,"Could not add event",PAPI_ENOSUPP);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_two, kernel_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",kernel_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_two );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_two, two_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld, %s count = %lld\n",
|
|
Packit |
577717 |
user_event,two_values[0],
|
|
Packit |
577717 |
kernel_event,two_values[1]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
/* Default Domain, Default Event */
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if (!quiet) {
|
|
Packit |
577717 |
printf("\tDefault Domain\n");
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_default);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_default, instructions_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",instructions_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_default );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_default, default_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",instructions_event,default_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
/* Default Domain, User Event */
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_default_user);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_default_user, user_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",user_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_default_user );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_default_user, default_user_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",user_event,default_user_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
/* Default Domain, Kernel Event */
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_default_kernel);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_default_kernel, kernel_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",kernel_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_default_kernel );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_default_kernel, default_kernel_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",kernel_event,default_kernel_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*****************************************/
|
|
Packit |
577717 |
/* Default Domain, user and Kernel Event */
|
|
Packit |
577717 |
/*****************************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_default_user_kernel);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_default_user_kernel, user_kernel_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",user_kernel_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_default_user_kernel );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_default_user_kernel, default_user_kernel_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",user_kernel_event,default_user_kernel_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
/* User Domain, Default Event */
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if (!quiet) {
|
|
Packit |
577717 |
printf("\tPAPI_DOM_USER Domain\n");
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval=PAPI_set_cmp_domain(PAPI_DOM_USER, 0);
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_user);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_user, instructions_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",instructions_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_user );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_user, user_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",instructions_event,user_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
/* User Domain, User Event */
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_user_user);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_user_user, user_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",user_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_user_user );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_user_user, user_user_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",user_event,user_user_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
/* User Domain, Kernel Event */
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_user_kernel);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_user_kernel, kernel_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",user_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_user_kernel );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_user_kernel, user_kernel_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",kernel_event,user_kernel_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*****************************************/
|
|
Packit |
577717 |
/* User Domain, user and Kernel Event */
|
|
Packit |
577717 |
/*****************************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_user_user_kernel);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_user_user_kernel, user_kernel_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",user_kernel_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_user_user_kernel );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_user_user_kernel, user_user_kernel_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",user_kernel_event,user_user_kernel_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
/* Kernel Domain, Default Event */
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if (!quiet) {
|
|
Packit |
577717 |
printf("\tPAPI_DOM_KERNEL Domain\n");
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval=PAPI_set_cmp_domain(PAPI_DOM_KERNEL, 0);
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_kernel);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_kernel, instructions_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",instructions_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_kernel );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_kernel, kernel_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",instructions_event,kernel_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
/* Kernel Domain, User Event */
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_kernel_user);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_kernel_user, user_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",user_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_kernel_user );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_kernel_user, kernel_user_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",user_event,kernel_user_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
/* Kernel Domain, Kernel Event */
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_kernel_kernel);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_kernel_kernel, kernel_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",user_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_kernel_kernel );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_kernel_kernel, kernel_kernel_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",kernel_event,kernel_kernel_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*****************************************/
|
|
Packit |
577717 |
/* Kernel Domain, user and Kernel Event */
|
|
Packit |
577717 |
/*****************************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_kernel_user_kernel);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_kernel_user_kernel, user_kernel_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",user_kernel_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_kernel_user_kernel );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_kernel_user_kernel, kernel_user_kernel_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",user_kernel_event,kernel_user_kernel_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
/* All Domain, Default Event */
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if (!quiet) {
|
|
Packit |
577717 |
printf("\tPAPI_DOM_ALL Domain\n");
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval=PAPI_set_cmp_domain(PAPI_DOM_ALL, 0);
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_all);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_all, instructions_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",instructions_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_all );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_all, all_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",instructions_event,all_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
/* All Domain, User Event */
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_all_user);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_all_user, user_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",user_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_all_user );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_all_user, all_user_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",user_event,all_user_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
/* All Domain, Kernel Event */
|
|
Packit |
577717 |
/*********************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_all_kernel);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_all_kernel, kernel_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",user_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_all_kernel );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_all_kernel, all_kernel_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",kernel_event,all_kernel_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/*****************************************/
|
|
Packit |
577717 |
/* All Domain, user and Kernel Event */
|
|
Packit |
577717 |
/*****************************************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_create_eventset(&EventSet_all_user_kernel);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "PAPI_create_eventset",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_add_named_event(EventSet_all_user_kernel, user_kernel_event);
|
|
Packit |
577717 |
if (retval != PAPI_OK) {
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
fprintf(stderr,"Error trying to add %s\n",user_kernel_event);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
test_fail(__FILE__, __LINE__, "adding instructions event ",retval);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_start( EventSet_all_user_kernel );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_start", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
do_flops( NUM_FLOPS );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
retval = PAPI_stop( EventSet_all_user_kernel, all_user_kernel_values );
|
|
Packit |
577717 |
if ( retval != PAPI_OK ) {
|
|
Packit |
577717 |
test_fail( __FILE__, __LINE__, "PAPI_stop", retval );
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
if ( !quiet ) {
|
|
Packit |
577717 |
printf("\t\t%s count = %lld\n",user_kernel_event,all_user_kernel_values[0]);
|
|
Packit |
577717 |
}
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/**************/
|
|
Packit |
577717 |
/* Validation */
|
|
Packit |
577717 |
/**************/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
//TODO
|
|
Packit |
577717 |
|
|
Packit |
577717 |
test_pass( __FILE__ );
|
|
Packit |
577717 |
|
|
Packit |
577717 |
return 0;
|
|
Packit |
577717 |
}
|