192 bool isSameType = (Expected.
Record.type == Observed.
Record.type);
193 bool isSameTargetId =
194 (Expected.
Record.target_id == std::numeric_limits<ompt_id_t>::min()) ||
195 (Expected.
Record.target_id == Observed.
Record.target_id);
196 if (!(isSameType && isSameTargetId))
199 ompt_device_time_t ObservedDurationNs =
200 Observed.
Record.record.target_data_op.end_time - Observed.
Record.time;
201 switch (Expected.
Record.type) {
202 case ompt_callback_target:
203 isEqual &= (Expected.
Record.record.target.kind ==
204 std::numeric_limits<ompt_target_t>::min()) ||
205 (Expected.
Record.record.target.kind ==
206 Observed.
Record.record.target.kind);
207 isEqual &= (Expected.
Record.record.target.endpoint ==
208 std::numeric_limits<ompt_scope_endpoint_t>::min()) ||
209 (Expected.
Record.record.target.endpoint ==
210 Observed.
Record.record.target.endpoint);
211 isEqual &= (Expected.
Record.record.target.device_num ==
212 std::numeric_limits<int>::min()) ||
213 (Expected.
Record.record.target.device_num ==
214 Observed.
Record.record.target.device_num);
216 case ompt_callback_target_data_op:
217 isEqual &= (Expected.
Record.record.target_data_op.optype ==
218 std::numeric_limits<ompt_target_data_op_t>::min()) ||
219 (Expected.
Record.record.target_data_op.optype ==
220 Observed.
Record.record.target_data_op.optype);
221 isEqual &= (Expected.
Record.record.target_data_op.bytes ==
222 std::numeric_limits<size_t>::min()) ||
223 (Expected.
Record.record.target_data_op.bytes ==
224 Observed.
Record.record.target_data_op.bytes);
225 isEqual &= (Expected.
Record.record.target_data_op.src_addr ==
226 std::numeric_limits<void *>::min()) ||
227 (Expected.
Record.record.target_data_op.src_addr ==
228 Observed.
Record.record.target_data_op.src_addr);
229 isEqual &= (Expected.
Record.record.target_data_op.dest_addr ==
230 std::numeric_limits<void *>::min()) ||
231 (Expected.
Record.record.target_data_op.dest_addr ==
232 Observed.
Record.record.target_data_op.dest_addr);
233 isEqual &= (Expected.
Record.record.target_data_op.src_device_num ==
234 std::numeric_limits<int>::min()) ||
235 (Expected.
Record.record.target_data_op.src_device_num ==
236 Observed.
Record.record.target_data_op.src_device_num);
237 isEqual &= (Expected.
Record.record.target_data_op.dest_device_num ==
238 std::numeric_limits<int>::min()) ||
239 (Expected.
Record.record.target_data_op.dest_device_num ==
240 Observed.
Record.record.target_data_op.dest_device_num);
241 isEqual &= (Expected.
Record.record.target_data_op.host_op_id ==
242 std::numeric_limits<ompt_id_t>::min()) ||
243 (Expected.
Record.record.target_data_op.host_op_id ==
244 Observed.
Record.record.target_data_op.host_op_id);
245 isEqual &= (Expected.
Record.record.target_data_op.codeptr_ra ==
246 std::numeric_limits<void *>::min()) ||
247 (Expected.
Record.record.target_data_op.codeptr_ra ==
248 Observed.
Record.record.target_data_op.codeptr_ra);
249 if (Expected.
Record.record.target_data_op.end_time !=
250 std::numeric_limits<ompt_device_time_t>::min()) {
252 ObservedDurationNs <= Expected.
Record.record.target_data_op.end_time;
254 isEqual &= ObservedDurationNs >= Expected.
Record.time;
256 case ompt_callback_target_submit:
258 Observed.
Record.record.target_kernel.end_time - Observed.
Record.time;
259 isEqual &= (Expected.
Record.record.target_kernel.requested_num_teams ==
260 std::numeric_limits<unsigned int>::min()) ||
261 (Expected.
Record.record.target_kernel.requested_num_teams ==
262 Observed.
Record.record.target_kernel.requested_num_teams);
263 isEqual &= (Expected.
Record.record.target_kernel.granted_num_teams ==
264 std::numeric_limits<unsigned int>::min()) ||
265 (Expected.
Record.record.target_kernel.granted_num_teams ==
266 Observed.
Record.record.target_kernel.granted_num_teams);
267 isEqual &= (Expected.
Record.record.target_kernel.host_op_id ==
268 std::numeric_limits<ompt_id_t>::min()) ||
269 (Expected.
Record.record.target_kernel.host_op_id ==
270 Observed.
Record.record.target_kernel.host_op_id);
271 if (Expected.
Record.record.target_kernel.end_time !=
272 std::numeric_limits<ompt_device_time_t>::min()) {
274 ObservedDurationNs <= Expected.
Record.record.target_kernel.end_time;
276 isEqual &= ObservedDurationNs >= Expected.
Record.time;
279 assert(
false &&
"Encountered invalid record type");