Print total setup time - #1714
Conversation
Signed-off-by: yuwenchen95 <yuwchen@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (2)
💤 Files with no reviewable changes (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThe barrier solver now logs cumulative setup duration before its initial time-limit check. The cuDSS analysis flow no longer logs total symbolic time. ChangesBarrier timing logs
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to The change only adds cumulative barrier setup-time reporting before the solve and does not introduce an actionable merge-blocking risk; it is merge-ready after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
What's an example of the full logs now with these change? Please show how the new logging looks in context. |
CI Test Summary✅ All 31 test job(s) passed. |
Here is the log for a portfolio optimization problem: |
Does setup time include the 0.18 seconds prior to barrier, or is it the "barrier setup time"? |
The total setup time includes 0.18s. This 0.18s includes converting user problems, barrier presolve and ruiz scaling, which should be counted in the total setup time. |
|
It's kinda confusing that we're including time spent prior to "Barrier solver started" but only logging this inclusive setup number when using the barrier solver and not for other solvers. Can we try to make this clearer without forcing users to check the code to understand what the timings are referring to? |
I agree current logging is confusing and indeed has overlap. Can we remove subblock timing ( |
I think it is valuable to know how long it took to do reordering and symbolic factorization. I would keep these. We could remove 'Total symbolic time' since it is just the sum of these. I'm not sure I would use "Total setup time" maybe just do something as simple as:
This is consistent with how we measure time in the solver. We break out how much time is spent in individual long running pieces. And we also provide running elapsed time measured from the start of the solve. We don't expect most users to look at this information. This is just to make it easier to perform some benchmarks. |
|
I would also keep |
I would lean toward adding this PDLP and dual simplex as well. Rather than removing it for barrier. The point is just to distinguish when we started the actual solve algorithm for the presolve phase. |
Signed-off-by: yuwenchen95 <yuwchen@nvidia.com>
|
/merge |
Description
Prints the cumulative barrier setup time before the true barrier solve.
Issue
Closes #1712