@@ -30,116 +30,40 @@ XPTI_CALLBACK_API void xptiTraceInit(unsigned int MajorVersion,
30
30
std::cout << " xptiTraceInit: Stream Name = " << StreamName << " \n " ;
31
31
std::string_view NameView{StreamName};
32
32
33
+ using type = xpti::trace_point_type_t ;
33
34
if (NameView == " sycl.experimental.mem_alloc" ) {
34
35
uint8_t StreamID = xptiRegisterStream (StreamName);
35
- xptiRegisterCallback (
36
- StreamID,
37
- static_cast <uint16_t >(xpti::trace_point_type_t ::mem_alloc_begin),
38
- memCallback);
39
- xptiRegisterCallback (
40
- StreamID,
41
- static_cast <uint16_t >(xpti::trace_point_type_t ::mem_alloc_end),
42
- memCallback);
43
- xptiRegisterCallback (
44
- StreamID,
45
- static_cast <uint16_t >(xpti::trace_point_type_t ::mem_release_begin),
46
- memCallback);
47
- xptiRegisterCallback (
48
- StreamID,
49
- static_cast <uint16_t >(xpti::trace_point_type_t ::mem_release_end),
50
- memCallback);
36
+ for (type t : std::initializer_list<type>{
37
+ type::mem_alloc_begin, type::mem_alloc_end,
38
+ type::mem_release_begin, type::mem_release_end})
39
+ xptiRegisterCallback (StreamID, static_cast <uint16_t >(t), memCallback);
51
40
}
52
41
42
+ auto buffer_image_traces = std::initializer_list<type>{
43
+ type::offload_alloc_memory_object_construct,
44
+ type::offload_alloc_memory_object_associate,
45
+ type::offload_alloc_memory_object_release,
46
+ type::offload_alloc_memory_object_destruct, type::offload_alloc_accessor};
53
47
if (NameView == " sycl.experimental.buffer" ) {
54
48
uint8_t StreamID = xptiRegisterStream (StreamName);
55
- xptiRegisterCallback (
56
- StreamID,
57
- static_cast <uint16_t >(
58
- xpti::trace_point_type_t ::offload_alloc_memory_object_construct),
59
- syclBufferCallback);
60
- xptiRegisterCallback (
61
- StreamID,
62
- static_cast <uint16_t >(
63
- xpti::trace_point_type_t ::offload_alloc_memory_object_associate),
64
- syclBufferCallback);
65
- xptiRegisterCallback (
66
- StreamID,
67
- static_cast <uint16_t >(
68
- xpti::trace_point_type_t ::offload_alloc_memory_object_release),
69
- syclBufferCallback);
70
- xptiRegisterCallback (
71
- StreamID,
72
- static_cast <uint16_t >(
73
- xpti::trace_point_type_t ::offload_alloc_memory_object_destruct),
74
- syclBufferCallback);
75
- xptiRegisterCallback (
76
- StreamID,
77
- static_cast <uint16_t >(xpti::trace_point_type_t ::offload_alloc_accessor),
78
- syclBufferCallback);
49
+ for (type t : buffer_image_traces)
50
+ xptiRegisterCallback (StreamID, static_cast <uint16_t >(t),
51
+ syclBufferCallback);
79
52
}
80
53
if (NameView == " sycl.experimental.image" ) {
81
54
uint8_t StreamID = xptiRegisterStream (StreamName);
82
- xptiRegisterCallback (
83
- StreamID,
84
- static_cast <uint16_t >(
85
- xpti::trace_point_type_t ::offload_alloc_memory_object_construct),
86
- syclImageCallback);
87
- xptiRegisterCallback (
88
- StreamID,
89
- static_cast <uint16_t >(
90
- xpti::trace_point_type_t ::offload_alloc_memory_object_associate),
91
- syclImageCallback);
92
- xptiRegisterCallback (
93
- StreamID,
94
- static_cast <uint16_t >(
95
- xpti::trace_point_type_t ::offload_alloc_memory_object_release),
96
- syclImageCallback);
97
- xptiRegisterCallback (
98
- StreamID,
99
- static_cast <uint16_t >(
100
- xpti::trace_point_type_t ::offload_alloc_memory_object_destruct),
101
- syclImageCallback);
102
- xptiRegisterCallback (
103
- StreamID,
104
- static_cast <uint16_t >(xpti::trace_point_type_t ::offload_alloc_accessor),
105
- syclImageCallback);
55
+ for (type t : buffer_image_traces)
56
+ xptiRegisterCallback (StreamID, static_cast <uint16_t >(t),
57
+ syclImageCallback);
106
58
}
107
59
if (NameView == " sycl" ) {
108
60
uint8_t StreamID = xptiRegisterStream (StreamName);
109
- xptiRegisterCallback (
110
- StreamID, static_cast <uint16_t >(xpti::trace_point_type_t ::graph_create),
111
- syclCallback);
112
- xptiRegisterCallback (
113
- StreamID, static_cast <uint16_t >(xpti::trace_point_type_t ::node_create),
114
- syclCallback);
115
- xptiRegisterCallback (
116
- StreamID, static_cast <uint16_t >(xpti::trace_point_type_t ::edge_create),
117
- syclCallback);
118
- xptiRegisterCallback (
119
- StreamID, static_cast <uint16_t >(xpti::trace_point_type_t ::task_begin),
120
- syclCallback);
121
- xptiRegisterCallback (
122
- StreamID, static_cast <uint16_t >(xpti::trace_point_type_t ::task_end),
123
- syclCallback);
124
- xptiRegisterCallback (
125
- StreamID, static_cast <uint16_t >(xpti::trace_point_type_t ::signal),
126
- syclCallback);
127
- xptiRegisterCallback (
128
- StreamID,
129
- static_cast <uint16_t >(xpti::trace_point_type_t ::barrier_begin),
130
- syclCallback);
131
- xptiRegisterCallback (
132
- StreamID, static_cast <uint16_t >(xpti::trace_point_type_t ::barrier_end),
133
- syclCallback);
134
- xptiRegisterCallback (
135
- StreamID, static_cast <uint16_t >(xpti::trace_point_type_t ::wait_begin),
136
- syclCallback);
137
- xptiRegisterCallback (
138
- StreamID, static_cast <uint16_t >(xpti::trace_point_type_t ::wait_end),
139
- syclCallback);
140
- xptiRegisterCallback (
141
- StreamID, static_cast <uint16_t >(xpti::trace_point_type_t ::signal),
142
- syclCallback);
61
+ for (type t : std::initializer_list<type>{
62
+ type::graph_create, type::node_create, type::edge_create,
63
+ type::task_begin, type::task_end, type::signal, type::wait_begin,
64
+ type::wait_end, type::barrier_begin, type::barrier_end,
65
+ type::diagnostics})
66
+ xptiRegisterCallback (StreamID, static_cast <uint16_t >(t), syclCallback);
143
67
}
144
68
}
145
69
0 commit comments