PAPI
5.7.0.0
linux-infiniband_umad.h
Go to the documentation of this file.
1
/****************************/
2
/* THIS IS OPEN SOURCE CODE */
3
/****************************/
4
24
#ifndef _PAPI_INFINIBAND_H
25
#define _PAPI_INFINIBAND_H
26
27
#define __BUILD_VERSION_TAG__ 1.2
28
29
#include <infiniband/umad.h>
30
#include <infiniband/mad.h>
31
32
/* describes a single counter with its properties */
33
typedef
struct
counter_info_struct
34
{
35
int
idx
;
36
char
*
name
;
37
char
*
description
;
38
char
*
unit
;
39
uint64_t
value
;
40
struct
counter_info_struct *
next
;
41
}
counter_info
;
42
43
typedef
struct
44
{
45
int
count
;
46
char
**
data
;
47
}
string_list
;
48
49
/* infos collected of a single IB port */
50
typedef
struct
ib_port_struct
51
{
52
char
*
name
;
53
counter_info
*
send_cntr
;
54
counter_info
*
recv_cntr
;
55
int
port_rate
;
56
int
port_number
;
57
int
is_initialized
;
58
uint64_t
sum_send_val
;
59
uint64_t
sum_recv_val
;
60
uint32_t
last_send_val
;
61
uint32_t
last_recv_val
;
62
struct
ib_port_struct *
next
;
63
}
ib_port
;
64
65
66
static
void
init_ib_counter
( );
67
static
int
read_ib_counter
( );
68
static
int
init_ib_port
(
ib_port
* portdata );
69
static
void
addIBPort
(
const
char
*ca_name, umad_port_t * port );
70
71
72
/************************* DEFINES SECTION *******************************
73
***************************************************************************/
74
/* this number assumes that there will never be more events than indicated */
75
#define INFINIBAND_MAX_COUNTERS 100
76
#define INFINIBAND_MAX_COUNTER_TERMS INFINIBAND_MAX_COUNTERS
77
78
typedef
counter_info
INFINIBAND_register_t
;
79
typedef
counter_info
INFINIBAND_native_event_entry_t
;
80
typedef
counter_info
INFINIBAND_reg_alloc_t
;
81
82
83
typedef
struct
INFINIBAND_control_state
84
{
85
long
long
counts[
INFINIBAND_MAX_COUNTERS
];
86
int
ncounter
;
87
}
INFINIBAND_control_state_t
;
88
89
90
typedef
struct
INFINIBAND_context
91
{
92
INFINIBAND_control_state_t
state
;
93
}
INFINIBAND_context_t
;
94
95
#endif
/* _PAPI_INFINIBAND_H */
INFINIBAND_reg_alloc_t
counter_info INFINIBAND_reg_alloc_t
Definition:
linux-infiniband_umad.h:80
init_ib_counter
static void init_ib_counter()
counter_info::next
struct counter_info_struct * next
Definition:
linux-infiniband_umad.h:40
ib_port::name
char * name
Definition:
linux-infiniband_umad.h:52
ib_port::send_cntr
counter_info * send_cntr
Definition:
linux-infiniband_umad.h:53
ib_port::last_recv_val
uint32_t last_recv_val
Definition:
linux-infiniband_umad.h:61
INFINIBAND_register_t
counter_info INFINIBAND_register_t
Definition:
linux-infiniband_umad.h:78
INFINIBAND_control_state_t::ncounter
int ncounter
Definition:
linux-infiniband_umad.h:86
ib_port::recv_cntr
counter_info * recv_cntr
Definition:
linux-infiniband_umad.h:54
INFINIBAND_context_t::state
INFINIBAND_control_state_t state
Definition:
linux-infiniband_umad.h:92
string_list
Definition:
linux-infiniband_umad.h:43
INFINIBAND_control_state_t
Definition:
linux-infiniband_umad.h:83
read_ib_counter
static int read_ib_counter()
INFINIBAND_native_event_entry_t
counter_info INFINIBAND_native_event_entry_t
Definition:
linux-infiniband_umad.h:79
counter_info::idx
int idx
Definition:
linux-infiniband_umad.h:35
init_ib_port
static int init_ib_port(ib_port *portdata)
ib_port::last_send_val
uint32_t last_send_val
Definition:
linux-infiniband_umad.h:60
ib_port::next
struct ib_port_struct * next
Definition:
linux-infiniband_umad.h:62
ib_port
Definition:
linux-infiniband_umad.h:50
INFINIBAND_MAX_COUNTERS
#define INFINIBAND_MAX_COUNTERS
Definition:
linux-infiniband_umad.h:75
INFINIBAND_context_t
Definition:
linux-infiniband_umad.h:90
counter_info
Definition:
linux-infiniband_umad.h:33
ib_port::sum_send_val
uint64_t sum_send_val
Definition:
linux-infiniband_umad.h:58
ib_port::port_rate
int port_rate
Definition:
linux-infiniband_umad.h:55
counter_info::value
uint64_t value
Definition:
linux-infiniband_umad.h:39
counter_info::name
char * name
Definition:
linux-infiniband_umad.h:36
addIBPort
static void addIBPort(const char *ca_name, umad_port_t *port)
string_list::count
int count
Definition:
linux-infiniband_umad.h:45
counter_info::unit
char * unit
Definition:
linux-infiniband_umad.h:38
counter_info::description
char * description
Definition:
linux-infiniband_umad.h:37
ib_port::is_initialized
int is_initialized
Definition:
linux-infiniband_umad.h:57
string_list::data
char ** data
Definition:
linux-infiniband_umad.h:46
ib_port::port_number
int port_number
Definition:
linux-infiniband_umad.h:56
ib_port::sum_recv_val
uint64_t sum_recv_val
Definition:
linux-infiniband_umad.h:59
src
components
infiniband_umad
linux-infiniband_umad.h
Generated on Wed Mar 27 2019 00:55:11 for PAPI by
1.8.15