PAPI 7.1.0.0
Loading...
Searching...
No Matches
Simple_CountingSet_Driver.c
Go to the documentation of this file.
1#include <stdio.h>
2#include <string.h>
3#include "sde_lib.h"
4#include "papi.h"
5#include "papi_test.h"
6
8void libCSet_dump_set( cset_list_object_t *list_head );
9int libCSet_count_set_elements( cset_list_object_t *list_head );
10int libCSet_finalize(void);
11
12
13void setup_PAPI(int *event_set);
14
15int main(int argc, char **argv){
16 int cnt, ret, event_set = PAPI_NULL;
17 long long counter_values[1];
18
19 (void)argc;
20 (void)argv;
21
22 setup_PAPI(&event_set);
23
24 // --- Start PAPI
25 if((ret=PAPI_start(event_set)) != PAPI_OK){
26 test_fail( __FILE__, __LINE__, "PAPI_start", ret );
27 }
28
30
31 // --- Stop PAPI
32 if((ret=PAPI_stop(event_set, counter_values)) != PAPI_OK){
33 test_fail( __FILE__, __LINE__, "PAPI_stop", ret );
34 }
35
36 if( (argc > 1) && !strcmp(argv[1], "-verbose") ){
37 libCSet_dump_set( (cset_list_object_t *)counter_values[0] );
38 }
39
40 cnt = libCSet_count_set_elements( (cset_list_object_t *)counter_values[0] );
41 if( 5222 == cnt )
42 test_pass(__FILE__);
43 else
44 test_fail( __FILE__, __LINE__, "CountingSet contains wrong number of elements", ret );
45
46 return 0;
47}
48
49
50void setup_PAPI(int *event_set){
51 int ret;
52
54 test_fail( __FILE__, __LINE__, "PAPI_library_init", ret );
55 }
56
57 if((ret=PAPI_create_eventset(event_set)) != PAPI_OK){
58 test_fail( __FILE__, __LINE__, "PAPI_create_eventset", ret );
59 }
60
61 if((ret=PAPI_add_named_event(*event_set, "sde:::CSET_LIB::test counting set")) != PAPI_OK){
62 test_fail( __FILE__, __LINE__, "PAPI_add_named_event", ret );
63 }
64
65 return;
66}
67
int libCSet_count_set_elements(cset_list_object_t *list_head)
void libCSet_dump_set(cset_list_object_t *list_head)
void setup_PAPI(int *event_set)
int libCSet_finalize(void)
void libCSet_do_simple_work(void)
add PAPI preset or native hardware event by name to an EventSet
Create a new empty PAPI EventSet.
initialize the PAPI library.
Start counting hardware events in an event set.
Stop counting hardware events in an event set.
#define PAPI_VER_CURRENT
Definition: f90papi.h:54
#define PAPI_OK
Definition: f90papi.h:73
#define PAPI_NULL
Definition: f90papi.h:78
Return codes and api definitions.
void PAPI_NORETURN test_fail(const char *file, int line, const char *call, int retval)
Definition: test_utils.c:491
void PAPI_NORETURN test_pass(const char *filename)
Definition: test_utils.c:432
int main()
Definition: pernode.c:20
SDE prototypes and macros.