Skip to content

Bringing main changes to JAX branch - #309

Merged
jmlarson1 merged 256 commits into
experimental/jax_and_mspfrom
main
Jun 30, 2026
Merged

Bringing main changes to JAX branch#309
jmlarson1 merged 256 commits into
experimental/jax_and_mspfrom
main

Conversation

@jmlarson1

Copy link
Copy Markdown
Collaborator

No description provided.

jared321 and others added 30 commits January 14, 2026 18:44
I'm not sure what the bad class name complaint is about.  Checking if name too
long.
oldest tox task passing locally.
Update oldest supported versions
For Python.  Identical to MATLAB version, except for the abs err tolerance for
one special case test that is significantly larger in Python.  All tests passing
locally.
Synchronize `247NoKwargs` Branch
The changes were made in both the Python and MATLAB codes.  The following
discussion is w.r.t. the Python code and hopefully helps explain the changes.

After designing the new test for this hfun, I suspected that the sign in front
of sumH in line 59 was incorrect.  However, the tests were passing with small
errors.  To determine if the test is capable of detecting that sign error, I
reran the tests but with the sign changed.  There was effectively no difference
in the results despite the fact that the Hres and sumH variables contain
non-trivial numbers.  This can be understood by seeing that

   sumH * sum_{i=1}^m (Cres[i] - m_sumF) = sumH * 0.

Therefore, I removed the sumH term, which allowed for some simplifications,
especially in line 63.

Both Python and MATLAB tests were passing locally with no need to adjust error
tolerances in the test.
Clean parameterized hfun interface
This establishes the notion/design of parameterized hfuns for MSP.  This also
puts MSP on the same footing as POUNDERS then.  The same will be done for the
MATLAB version of this hfun.
Note that mustBeColumn was introduced at 2024b.  It was removed as this is too
new of a feature for our MATLAB support.
This includes making a decision about path management for the path.  Since we
know where the product_of_cells file is relative to the test's file, we can use
the scheme used elsewhere.
I tried and failed locally to get a good name.  Ignore class naming rules just
as we do for function and variable names.
This included backporting to the Python version improvements that were made in
the MATLAB version.

Testing of both versions passing on GCE.
jared321 and others added 29 commits May 27, 2026 13:01
The test script presently does *not* consider a skipped test in its count of
total tests run.
Test MATLAB v1 against MATLAB v1
I was able to test a v2 against a v1 successfully.
Establish MATLAB v2 benchmark format & test
Was able to create v3 results and successfully compare against v2.
Establish MATLAB v3 Benchmark Format
Using the current test suites, comparing Python v3 against MATLAB v3 won't work
since the two suites are run with different nf_max, which the test scripts
interprets as incompatible problem definitions.
This was done based on manually acquiring Python and MATLAB results with
nf_max=500 and fixing up the Python code temporarily to align those two results
such that the test script compares matched results.  The logging is now more
verbose and it's easier to judge if a difference is significant or not.
…bad.

So log differences to help determine if it is bad.
This should get actions passing.
Synchronize feature branch
Finalize benchmark test script
@jmlarson1
jmlarson1 merged commit b531a6b into experimental/jax_and_msp Jun 30, 2026
84 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