Merge remote-tracking branch 'origin/main' into feat/matrix-free-obj-constr (fixing clobbered workflow updates)#117
Merged
Conversation
…constr (fixing clobbered workflow updates)
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Contributor
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'DirectTrajOpt.jl benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: 481466f | Previous: 0c47f87 | Ratio |
|---|---|---|---|
scaling_N25_d16_ipopt [alloc] |
5280639576 bytes |
2155582496 bytes |
2.45 |
scaling_N51_d16_ipopt [wall] |
43.62511049 s |
22.619076088 s |
1.93 |
scaling_N51_d16_ipopt [alloc] |
90177961400 bytes |
43996002616 bytes |
2.05 |
scaling_N51_d4_ipopt [wall] |
0.728783311 s |
0.597400298 s |
1.22 |
scaling_N51_d4_ipopt [alloc] |
1524505744 bytes |
1253140304 bytes |
1.22 |
This comment was automatically generated by workflow using github-action-benchmark.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DTO Issue #113 implementation summary (v1)
Status: Implemented and tested on 2026-06-30 against
DirectTrajOpt.jl@feat/matrix-free-obj-constr. Not yet committed.Test log archived at
../../tmp/knot_hvp_run1.log.Companion artifacts:
./dto-matrix-free.md— original design doc;this summary covers Interface A (
KnotHVP) only.Test results
Wall time 4.1s; no warnings, no errors.
17:41:42 [39/1898]
src/objectives/knot_hvp.jl—KnotHVPabstract,ConstantLowRankHVP(A::Matrix{Float64}, core::Symbol),CustomKnotHVP(apply!::Function, on_device::Bool), genericknot_hvp(::AbstractObjective, ::NamedTrajectory) = nothing, and the5 inline
@testitemblocks.src/objectives/_objectives.jl— exports ofKnotHVP,ConstantLowRankHVP,CustomKnotHVP,knot_hvp(4 lines), andinclude("knot_hvp.jl")placed beforeknot_point_objectives.jlso
KnotHVPis in scope when the struct's field type is parsed.src/objectives/knot_point_objectives.jl— addedknot_hvp::Union{Nothing,KnotHVP}field to the struct,knot_hvp=nothingkeyword on the canonical outer constructor(Outer 1 at
:68), threaded through to the inner. The other threeouter constructors and both
TerminalObjectivevariants forwardkwargs...so they pick up the keyword automatically. Added thetrait specialization
knot_hvp(obj::KnotPointObjective, ::NamedTrajectory) = obj.knot_hvpnext to
Base.show. Docstring updated to replace the phantom∂²Lsline (a doc artifact from the6aeceeerefactor — never anactual field) with the real
knot_hvpfield description.Acceptance criteria (issue #113)
KnotHVP,ConstantLowRankHVP,CustomKnotHVPdefined besideget_full_hessian.knot_hvp::Union{Nothing,KnotHVP} = nothingonKnotPointObjective; threaded throughTerminalObjectiveviakwargs....KnotPointObjectivespecialization.coresymbolconvention,
apply!signature,on_devicehost-staging semantics.nothingfor every current objective type (T1covers
KnotPointObjective,QuadraticRegularizer,MinimumTimeObjective,GlobalObjective,CompositeObjective,NullObjective).v0.9.6 → v0.9.7per semver, additive) —not done in this turn; flag for the commit step.
Out of scope (carried forward)
The remaining items from
./dto-matrix-free.mdand./piccolissimo-matrix-free.mdremainunstarted:
knot_hvp(obj, traj)in theAltissimo backend; sunset PR #178's per-iterate probe+SVD for
Tier-1 objectives. Blocked on this PR + compat bump.
StepHVPcapability — sibling interface for theintegrator-side constraint-curvature HVP. Independent of Add a
KnotHVPcapability interface: objectives can declare a matrix-free per-knot HVP #113;release-decoupled.
AltissimoOptions.constraint_curvature_hvpflag + closuredispatched on
step_hvp_capability.in-scope per prior decision.
Full DTO no-regression sweep also deferred per prior
compute-conservation guidance.