Skip to content

Expression Support#215

Open
hfytr wants to merge 6 commits into
exanauts:mainfrom
hfytr:optimized
Open

Expression Support#215
hfytr wants to merge 6 commits into
exanauts:mainfrom
hfytr:optimized

Conversation

@hfytr

@hfytr hfytr commented Feb 5, 2026

Copy link
Copy Markdown
Collaborator

This PR changes expressions to no longer re-evaluate on every reference, and instead pre-computes once for every call to jac_coord / hess_coord / etc.

@github-actions

github-actions Bot commented Feb 5, 2026

Copy link
Copy Markdown
Contributor

Your PR requires formatting changes to meet the project's style guidelines.

Please run:

julia --project=@runic -e 'using Pkg; Pkg.add("Runic")'
julia --project=@runic -e "using Runic; exit(Runic.main(ARGS))" -- --fix <files>

(or git runic main if you have the git wrapper installed)

Note: the full diff is omitted because it can exceed GitHub Actions input limits.

@amontoison

Copy link
Copy Markdown
Member

@hfytr The diff is very big and hard to review. Can you update the PR to only keep the modifications related to expression support?

@michel2323

Copy link
Copy Markdown
Member

@hfytr I think you used runic on all files. Let me know if you need help with this.

@hfytr

hfytr commented Feb 18, 2026

Copy link
Copy Markdown
Collaborator Author

Hello michel. That’s correct. I’m traveling, but expect code by Tuesday / Wednesday.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sshin23 and others added 2 commits April 18, 2026 13:14
…string quotes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ext/ExaModelsKernelAbstractions.jl: update all kernel calls from
  AdjointNodeSource(x)/SecondAdjointNodeSource(x) to the two-argument
  form AdjointNodeSource(x, nothing)/SecondAdjointNodeSource(x, nothing)
  now required after PR exanauts#215 added the offset_exps field
- src/nlp.jl: add missing `pars = gen.iter` in add_con! (3-arg form)
  before the call to _add_con!, fixing UndefVarError at line 1199

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
sshin23 and others added 3 commits April 18, 2026 13:39
PR exanauts#215 added e/e_starts/e_cnts params to jrpass and
e/e_starts/e_cnts/e2/e2_starts/e2_cnts params to hrpass0/hrpass, but
the KernelAbstractions kernels were not updated. Pass nothing for all
expression-cache args since GPU kernels don't use the expression cache.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update direct low-level calls in ADTest to match new signatures:
- AdjointNodeSource/SecondAdjointNodeSource: add second arg `nothing`
- sgradient!: add isexp=nothing as 9th arg (was 8-arg, now 9-arg)
- sjacobian!: restructure to 14-arg form (isexp, y1, y2, f, e, e_starts, e_cnts, p, x, θ, comp, o0, o1, adj)
- hrpass0: prepend 6 nothing args (e, e_starts, e_cnts, e2, e2_starts, e2_cnts) to match new 14-arg form

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…st_nlp

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@codecov

codecov Bot commented Apr 18, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 379 lines in your changes missing coverage. Please review.
✅ Project coverage is 0.00%. Comparing base (6f15038) to head (3282960).
⚠️ Report is 18 commits behind head on main.

Files with missing lines Patch % Lines
src/hessian.jl 0.00% 265 Missing ⚠️
src/jacobian.jl 0.00% 55 Missing ⚠️
src/gradient.jl 0.00% 24 Missing ⚠️
src/nlp.jl 0.00% 23 Missing ⚠️
src/simdfunction.jl 0.00% 6 Missing ⚠️
src/register.jl 0.00% 4 Missing ⚠️
src/graph.jl 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #215       +/-   ##
==========================================
- Coverage   80.80%   0.00%   -80.81%     
==========================================
  Files          20      26        +6     
  Lines        2021    3190     +1169     
==========================================
- Hits         1633       0     -1633     
- Misses        388    3190     +2802     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

4 participants