Skip to content

Update ExaModels and MadNLP#31

Open
pulsipher wants to merge 12 commits into
mainfrom
examodel_aot
Open

Update ExaModels and MadNLP#31
pulsipher wants to merge 12 commits into
mainfrom
examodel_aot

Conversation

@pulsipher

@pulsipher pulsipher commented Apr 7, 2026

Copy link
Copy Markdown
Collaborator

This tests out the ExaModels changes proposed in exanauts/ExaModels.jl#256.

This now updates the versioning of ExaModels and MadNLP with the new versions.

@codecov-commenter

codecov-commenter commented Apr 7, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 61.97183% with 27 lines in your changes missing coverage. Please review.
✅ Project coverage is 49.92%. Comparing base (64c85bb) to head (239e584).

Files with missing lines Patch % Lines
src/transform.jl 61.97% 27 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (64c85bb) and HEAD (239e584). Click for more details.

HEAD has 5 uploads less than BASE
Flag BASE (64c85bb) HEAD (239e584)
6 1
Additional details and impacted files
@@             Coverage Diff             @@
##             main      #31       +/-   ##
===========================================
- Coverage   85.09%   49.92%   -35.17%     
===========================================
  Files           6        5        -1     
  Lines         711      701       -10     
===========================================
- Hits          605      350      -255     
- Misses        106      351      +245     

☔ View full report in Codecov by Harness.
📢 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.

@pulsipher

Copy link
Copy Markdown
Collaborator Author

This appears to make very little difference for performance and allocations/memory. Using the quadrotor example from our benchmarks with 1000 time points, I get the following with the current release:

using NLPModelsIpopt, InfiniteOpt, InfiniteExaModels

m = quad(num_supports = 1000, backend = ExaTranscriptionBackend(IpoptSolver))
set_silent(m)
@time build_transcription_backend!(m) # builds the ExaModel
@time optimize!(m)
0.168895 seconds (450.06 k allocations: 24.030 MiB)
0.865922 seconds (310 allocations: 2.626 MiB)

With this PR, I get:

0.174419 seconds (449.24 k allocations: 24.468 MiB)
0.856932 seconds (310 allocations: 2.629 MiB)

@pulsipher pulsipher marked this pull request as draft April 8, 2026 02:34
@pulsipher pulsipher changed the title Test ExaModels AOT [DO NOT MERGE] Test ExaModels AOT Compilation Apr 8, 2026
@pulsipher pulsipher marked this pull request as ready for review June 18, 2026 17:09
@pulsipher pulsipher changed the title Test ExaModels AOT Compilation Update ExaModels and MadNLP Jun 18, 2026
@pulsipher

Copy link
Copy Markdown
Collaborator Author

This is broken because of exanauts/ExaModels.jl#269. Previously, we could add constraints without a generator by directly giving an ExaModels expression and an iterator, but that method was removed.

@pulsipher

Copy link
Copy Markdown
Collaborator Author

Requires exanauts/ExaModels.jl#286.

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