27 bool isSameParallelData =
28 (Expected.
ParallelData == std::numeric_limits<ompt_data_t *>::min()) ||
31 (Expected.
TaskData == std::numeric_limits<ompt_data_t *>::min()) ||
33 bool isSameCount = (Expected.
Count == std::numeric_limits<uint64_t>::min()) ||
35 return isSameWorkType && isSameEndpoint && isSameParallelData &&
36 isSameTaskData && isSameCount;
41 bool isSameActualParallelism =
43 std::numeric_limits<unsigned int>::min()) ||
46 (Expected.
Index == std::numeric_limits<unsigned int>::min()) ||
48 return isSameEndpoint && isSameActualParallelism && isSameIndex;
52 bool isSameKind = (Expected.
Kind == Observed.
Kind);
54 bool isSameParallelData =
55 (Expected.
ParallelData == std::numeric_limits<ompt_data_t *>::min()) ||
58 (Expected.
TaskData == std::numeric_limits<ompt_data_t *>::min()) ||
60 return isSameKind && isSameEndpoint && isSameParallelData && isSameTaskData;
64 bool isSameKind = (Expected.
Kind == Observed.
Kind);
66 bool isSameDeviceNum =
67 (Expected.
DeviceNum == std::numeric_limits<int>::min()) ||
69 return isSameKind && isSameEndpoint && isSameDeviceNum;
73 bool isSameKind = (Expected.
Kind == Observed.
Kind);
75 bool isSameDeviceNum =
76 (Expected.
DeviceNum == std::numeric_limits<int>::min()) ||
78 return isSameKind && isSameEndpoint && isSameDeviceNum;
82 bool isSameOpType = (Expected.
OpType == Observed.
OpType);
83 bool isSameSize = (Expected.
Bytes == std::numeric_limits<size_t>::min()) ||
86 (Expected.
SrcAddr == std::numeric_limits<void *>::min()) ||
89 (Expected.
DstAddr == std::numeric_limits<void *>::min()) ||
91 bool isSameSrcDeviceNum =
92 (Expected.
SrcDeviceNum == std::numeric_limits<int>::min()) ||
94 bool isSameDstDeviceNum =
95 (Expected.
DstDeviceNum == std::numeric_limits<int>::min()) ||
97 return isSameOpType && isSameSize && isSameSrcAddr && isSameDstAddr &&
98 isSameSrcDeviceNum && isSameDstDeviceNum;
103 bool isSameOpType = (Expected.
OpType == Observed.
OpType);
105 bool isSameSize = (Expected.
Bytes == std::numeric_limits<size_t>::min()) ||
108 (Expected.
SrcAddr == std::numeric_limits<void *>::min()) ||
111 (Expected.
DstAddr == std::numeric_limits<void *>::min()) ||
113 bool isSameSrcDeviceNum =
114 (Expected.
SrcDeviceNum == std::numeric_limits<int>::min()) ||
116 bool isSameDstDeviceNum =
117 (Expected.
DstDeviceNum == std::numeric_limits<int>::min()) ||
119 return isSameOpType && isSameEndpoint && isSameSize && isSameSrcAddr &&
120 isSameDstAddr && isSameSrcDeviceNum && isSameDstDeviceNum;
124 bool isSameReqNumTeams =
126 return isSameReqNumTeams;
131 bool isSameReqNumTeams =
134 return isSameReqNumTeams && isSameEndpoint;
141 (Expected.
Type == std::numeric_limits<const char *>::min()) ||
142 ((Expected.
Type == Observed.
Type) ||
143 (strcmp(Expected.
Type, Observed.
Type) == 0));
145 (Expected.
Device == std::numeric_limits<ompt_device_t *>::min()) ||
147 return isSameDeviceNum && isSameType && isSameDevice;
152 bool isSameDeviceNum =
153 (Expected.
DeviceNum == std::numeric_limits<int>::min()) ||
155 return isSameDeviceNum;
159 bool isSameDeviceNum =
160 (Expected.
DeviceNum == std::numeric_limits<int>::min()) ||
162 bool isSameSize = (Expected.
Bytes == std::numeric_limits<size_t>::min()) ||
164 return isSameDeviceNum && isSameSize;
168 bool isSameDeviceNum =
169 (Expected.
DeviceNum == std::numeric_limits<int>::min()) ||
171 bool isSameSize = (Expected.
Bytes == std::numeric_limits<size_t *>::min()) ||
173 return isSameDeviceNum && isSameSize;
178 bool isSameDeviceNum =
179 (Expected.
DeviceNum == std::numeric_limits<int>::min()) ||
181 bool isSameSize = (Expected.
Bytes == std::numeric_limits<size_t>::min()) ||
183 return isSameDeviceNum && isSameSize;
187 bool isSameType = (Expected.
Record.type == Observed.
Record.type);
188 bool isSameTargetId =
189 (Expected.
Record.target_id == std::numeric_limits<ompt_id_t>::min()) ||
190 (Expected.
Record.target_id == Observed.
Record.target_id);
191 if (!(isSameType && isSameTargetId))
194 ompt_device_time_t ObservedDurationNs =
195 Observed.
Record.record.target_data_op.end_time - Observed.
Record.time;
196 switch (Expected.
Record.type) {
197 case ompt_callback_target:
198 isEqual &= (Expected.
Record.record.target.kind ==
199 std::numeric_limits<ompt_target_t>::min()) ||
200 (Expected.
Record.record.target.kind ==
201 Observed.
Record.record.target.kind);
202 isEqual &= (Expected.
Record.record.target.endpoint ==
203 std::numeric_limits<ompt_scope_endpoint_t>::min()) ||
204 (Expected.
Record.record.target.endpoint ==
205 Observed.
Record.record.target.endpoint);
206 isEqual &= (Expected.
Record.record.target.device_num ==
207 std::numeric_limits<int>::min()) ||
208 (Expected.
Record.record.target.device_num ==
209 Observed.
Record.record.target.device_num);
211 case ompt_callback_target_data_op:
212 isEqual &= (Expected.
Record.record.target_data_op.optype ==
213 std::numeric_limits<ompt_target_data_op_t>::min()) ||
214 (Expected.
Record.record.target_data_op.optype ==
215 Observed.
Record.record.target_data_op.optype);
216 isEqual &= (Expected.
Record.record.target_data_op.bytes ==
217 std::numeric_limits<size_t>::min()) ||
218 (Expected.
Record.record.target_data_op.bytes ==
219 Observed.
Record.record.target_data_op.bytes);
220 isEqual &= (Expected.
Record.record.target_data_op.src_addr ==
221 std::numeric_limits<void *>::min()) ||
222 (Expected.
Record.record.target_data_op.src_addr ==
223 Observed.
Record.record.target_data_op.src_addr);
224 isEqual &= (Expected.
Record.record.target_data_op.dest_addr ==
225 std::numeric_limits<void *>::min()) ||
226 (Expected.
Record.record.target_data_op.dest_addr ==
227 Observed.
Record.record.target_data_op.dest_addr);
228 isEqual &= (Expected.
Record.record.target_data_op.src_device_num ==
229 std::numeric_limits<int>::min()) ||
230 (Expected.
Record.record.target_data_op.src_device_num ==
231 Observed.
Record.record.target_data_op.src_device_num);
232 isEqual &= (Expected.
Record.record.target_data_op.dest_device_num ==
233 std::numeric_limits<int>::min()) ||
234 (Expected.
Record.record.target_data_op.dest_device_num ==
235 Observed.
Record.record.target_data_op.dest_device_num);
236 isEqual &= (Expected.
Record.record.target_data_op.host_op_id ==
237 std::numeric_limits<ompt_id_t>::min()) ||
238 (Expected.
Record.record.target_data_op.host_op_id ==
239 Observed.
Record.record.target_data_op.host_op_id);
240 isEqual &= (Expected.
Record.record.target_data_op.codeptr_ra ==
241 std::numeric_limits<void *>::min()) ||
242 (Expected.
Record.record.target_data_op.codeptr_ra ==
243 Observed.
Record.record.target_data_op.codeptr_ra);
244 if (Expected.
Record.record.target_data_op.end_time !=
245 std::numeric_limits<ompt_device_time_t>::min()) {
247 ObservedDurationNs <= Expected.
Record.record.target_data_op.end_time;
249 isEqual &= ObservedDurationNs >= Expected.
Record.time;
251 case ompt_callback_target_submit:
253 Observed.
Record.record.target_kernel.end_time - Observed.
Record.time;
254 isEqual &= (Expected.
Record.record.target_kernel.requested_num_teams ==
255 std::numeric_limits<unsigned int>::min()) ||
256 (Expected.
Record.record.target_kernel.requested_num_teams ==
257 Observed.
Record.record.target_kernel.requested_num_teams);
258 isEqual &= (Expected.
Record.record.target_kernel.granted_num_teams ==
259 std::numeric_limits<unsigned int>::min()) ||
260 (Expected.
Record.record.target_kernel.granted_num_teams ==
261 Observed.
Record.record.target_kernel.granted_num_teams);
262 isEqual &= (Expected.
Record.record.target_kernel.host_op_id ==
263 std::numeric_limits<ompt_id_t>::min()) ||
264 (Expected.
Record.record.target_kernel.host_op_id ==
265 Observed.
Record.record.target_kernel.host_op_id);
266 if (Expected.
Record.record.target_kernel.end_time !=
267 std::numeric_limits<ompt_device_time_t>::min()) {
269 ObservedDurationNs <= Expected.
Record.record.target_kernel.end_time;
271 isEqual &= ObservedDurationNs >= Expected.
Record.time;
274 assert(
false &&
"Encountered invalid record type");
Declares internal event representations along the default CTOR definition.
bool operator==(const ParallelBegin &, const ParallelBegin &)
ompt_record_ompt_t Record
ompt_scope_endpoint_t Endpoint
unsigned int ActualParallelism
ompt_scope_endpoint_t Endpoint
ompt_data_t * ParallelData
ompt_target_data_op_t OpType
ompt_scope_endpoint_t Endpoint
ompt_target_data_op_t OpType
ompt_scope_endpoint_t Endpoint
unsigned int RequestedNumTeams
ompt_scope_endpoint_t Endpoint
unsigned int RequestedNumTeams
ompt_scope_endpoint_t Endpoint
ompt_data_t * ParallelData
ompt_scope_endpoint_t Endpoint