Skip to content

[FEATURE] Add parallel linesearch for constraint solver.#2523

Merged
duburcqa merged 40 commits intoGenesis-Embodied-AI:mainfrom
erizmr:mingrui/260309/solver_opt_parallel_linesearch
Mar 31, 2026
Merged

[FEATURE] Add parallel linesearch for constraint solver.#2523
duburcqa merged 40 commits intoGenesis-Embodied-AI:mainfrom
erizmr:mingrui/260309/solver_opt_parallel_linesearch

Conversation

@erizmr
Copy link
Copy Markdown
Contributor

@erizmr erizmr commented Mar 9, 2026

No description provided.

@erizmr erizmr marked this pull request as ready for review March 10, 2026 00:18
@erizmr erizmr force-pushed the mingrui/260309/solver_opt_parallel_linesearch branch 2 times, most recently from e0415a2 to 789ca2b Compare March 13, 2026 14:50
@github-actions
Copy link
Copy Markdown

🔴 Benchmark Regression Detected ➡️ Report

@erizmr
Copy link
Copy Markdown
Contributor Author

erizmr commented Mar 13, 2026

🔴 Benchmark Regression Detected ➡️ Report

perf dispatch re-benchmarking induces this, updated to re-run

@hughperkins
Copy link
Copy Markdown
Collaborator

🔴 Benchmark Regression Detected ➡️ Report

perf dispatch re-benchmarking induces this, updated to re-run

I'd like to see some simple standalone reproduction of how you feel perf dispatch repeat induces high latency, ideally.

@hughperkins
Copy link
Copy Markdown
Collaborator

🔴 Benchmark Regression Detected ➡️ Report

perf dispatch re-benchmarking induces this, updated to re-run

I'd like to see some simple standalone reproduction of how you feel perf dispatch repeat induces high latency, ideally.

This would have a few benefits:

  • easier to discuss and reason about
  • easier to fix (if it is a perf dispatch bug)

@github-actions
Copy link
Copy Markdown

🔴 Benchmark Regression Detected ➡️ Report

@hughperkins hughperkins marked this pull request as draft March 19, 2026 17:45
@github-actions
Copy link
Copy Markdown

🔴 Benchmark Regression Detected ➡️ Report

@github-actions
Copy link
Copy Markdown

🔴 Benchmark Regression Detected ➡️ Report

@github-actions
Copy link
Copy Markdown

🔴 Benchmark Regression Detected ➡️ Report

@github-actions
Copy link
Copy Markdown

🔴 Benchmark Regression Detected ➡️ Report

erizmr and others added 14 commits March 24, 2026 22:48
Replace the sequential per-env linesearch (_kernel_linesearch) with a
parallel linesearch pipeline using 6 specialized kernels:
- _kernel_parallel_linesearch_mv: mv = M @ search, ndrange(dof, env)
- _kernel_parallel_linesearch_jv: jv = J @ search, ndrange(constraint, env)
- _kernel_parallel_linesearch_p0: fused snorm/quad_gauss/eq_sum/p0_cost with shared memory reductions
- _kernel_parallel_linesearch_eval: K=16 log-spaced candidates evaluated in parallel with shared memory argmin
- _kernel_parallel_linesearch_apply_alpha_dofs: apply best alpha to qacc/Ma
- _kernel_parallel_linesearch_apply_alpha_constraints: apply best alpha to Jaref

Also includes decomposed update_constraint (3 kernels) in the iteration loop.

Additional changes:
- Add dofs_info to func_solve_body dispatch signature
- Add _log_scale helper function to solver.py
- Exclude requires_grad from decomposed path (parallel LS is sensitive to FP precision)
- Update test_grad.py to pass dofs_info

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
duburcqa
duburcqa previously approved these changes Mar 30, 2026
@github-actions
Copy link
Copy Markdown

🔴 Benchmark Regression Detected ➡️ Report

Comment thread tests/conftest.py Outdated
@github-actions
Copy link
Copy Markdown

⚠️ Abnormal Benchmark Result Detected ➡️ Report

@duburcqa duburcqa force-pushed the mingrui/260309/solver_opt_parallel_linesearch branch 13 times, most recently from 8109b86 to 7a988d6 Compare March 31, 2026 07:26
duburcqa
duburcqa previously approved these changes Mar 31, 2026
@duburcqa duburcqa force-pushed the mingrui/260309/solver_opt_parallel_linesearch branch from 7a988d6 to c1ad5bb Compare March 31, 2026 07:39
@duburcqa duburcqa merged commit 7a1aecc into Genesis-Embodied-AI:main Mar 31, 2026
19 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants