34 std::array<uint32_t, 3> cellMin,
35 std::array<uint32_t, 3> cellMax, uint32_t capacity);
40 [[nodiscard]] std::string
FormatProbeTrace(std::span<const gpu::GraphTraceRecord> sorted);
44 std::vector<gpu::GraphTraceRecord> records,
45 const gpu::GraphTraceFilter& filter,
46 uint64_t droppedCount);
51 [[nodiscard]] std::vector<gpu::GraphTraceRecord>
UniqueProbeTrace(std::vector<gpu::GraphTraceRecord> records);
57 std::span<const ProbeCommand> commands, std::span<const uint8_t> flagsBefore,
58 std::span<const uint8_t> flagsAfter, std::vector<gpu::GraphTraceRecord>& expected);
62 std::span<const gpu::GraphTraceRecord> cpu);
67 [[nodiscard]] std::optional<uint64_t>
FirstDivergentTick(std::span<const ProbeTickHash> gpu,
68 std::span<const ProbeTickHash> cpu);
75 std::array<uint32_t, 3>
cell = {0, 0, 0};
86 [[nodiscard]] std::optional<ProbeDivergence>
FindCellDivergence(uint64_t tick, std::span<const uint32_t> gpuCells,
87 std::span<const uint32_t> cpuCells);
std::optional< ProbeDivergence > FindCellDivergence(uint64_t tick, std::span< const uint32_t > gpuCells, std::span< const uint32_t > cpuCells)
std::optional< uint64_t > FirstDivergentTick(std::span< const ProbeTickHash > gpu, std::span< const ProbeTickHash > cpu)
void AppendExpectedProbeTrace(const gpu::GraphTraceFilter &filter, uint64_t tick, std::span< const ProbeCommand > commands, std::span< const uint8_t > flagsBefore, std::span< const uint8_t > flagsAfter, std::vector< gpu::GraphTraceRecord > &expected)
std::string FormatProbeDivergence(const ProbeDivergence &divergence)
std::vector< gpu::GraphTraceRecord > UniqueProbeTrace(std::vector< gpu::GraphTraceRecord > records)
std::string FormatProbeTrace(std::span< const gpu::GraphTraceRecord > sorted)
std::optional< std::string > FirstProbeTraceMismatch(std::span< const gpu::GraphTraceRecord > gpu, std::span< const gpu::GraphTraceRecord > cpu)
std::expected< void, std::string > WriteProbeTraceFile(const fs::path &path, std::vector< gpu::GraphTraceRecord > records, const gpu::GraphTraceFilter &filter, uint64_t droppedCount)
gpu::GraphTraceFilter ProbeTraceFilterForCells(uint64_t tickBegin, uint64_t tickEnd, std::array< uint32_t, 3 > cellMin, std::array< uint32_t, 3 > cellMax, uint32_t capacity)
std::array< uint32_t, 3 > cell