DESC
DESC copied to clipboard
TERPSICHORE
New objective function to wrap the TERPSICHORE stability code
put in separate experimental folder
| benchmark_name | dt(%) | dt(s) | t_new(s) | t_old(s) |
| -------------------------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- |
test_build_transform_fft_lowres | -5.61 +/- 7.38 | -3.57e-02 +/- 4.69e-02 | 6.00e-01 +/- 4.1e-02 | 6.35e-01 +/- 2.2e-02 |
test_equilibrium_init_medres | -1.80 +/- 8.87 | -7.87e-02 +/- 3.88e-01 | 4.29e+00 +/- 1.1e-01 | 4.37e+00 +/- 3.7e-01 |
test_equilibrium_init_highres | +4.97 +/- 3.59 | +2.53e-01 +/- 1.82e-01 | 5.33e+00 +/- 1.5e-01 | 5.08e+00 +/- 1.0e-01 |
test_objective_compile_dshape_current | +0.28 +/- 4.68 | +1.13e-02 +/- 1.92e-01 | 4.12e+00 +/- 1.4e-01 | 4.11e+00 +/- 1.3e-01 |
test_objective_compute_dshape_current | -0.57 +/- 1.74 | -3.12e-05 +/- 9.51e-05 | 5.43e-03 +/- 6.4e-05 | 5.46e-03 +/- 7.1e-05 |
test_objective_jac_dshape_current | -1.63 +/- 6.71 | -7.00e-04 +/- 2.89e-03 | 4.23e-02 +/- 2.1e-03 | 4.30e-02 +/- 2.0e-03 |
test_perturb_2 | +0.46 +/- 1.35 | +9.21e-02 +/- 2.67e-01 | 1.99e+01 +/- 1.3e-01 | 1.99e+01 +/- 2.3e-01 |
test_proximal_jac_atf_with_eq_update | -0.23 +/- 1.19 | -3.92e-02 +/- 2.02e-01 | 1.70e+01 +/- 5.7e-02 | 1.71e+01 +/- 1.9e-01 |
test_proximal_freeb_jac | +2.29 +/- 2.48 | +1.12e-01 +/- 1.21e-01 | 5.00e+00 +/- 1.1e-01 | 4.89e+00 +/- 4.3e-02 |
test_solve_fixed_iter_compiled | +0.67 +/- 1.80 | +1.39e-01 +/- 3.73e-01 | 2.09e+01 +/- 3.5e-01 | 2.07e+01 +/- 1.3e-01 |
test_LinearConstraintProjection_build | +0.78 +/- 2.57 | +8.51e-02 +/- 2.80e-01 | 1.10e+01 +/- 2.4e-01 | 1.09e+01 +/- 1.4e-01 |
test_objective_compute_ripple_spline | -0.96 +/- 1.08 | -3.32e-03 +/- 3.76e-03 | 3.44e-01 +/- 2.3e-03 | 3.47e-01 +/- 3.0e-03 |
test_objective_grad_ripple_spline | -0.57 +/- 2.16 | -8.20e-03 +/- 3.08e-02 | 1.42e+00 +/- 3.0e-02 | 1.43e+00 +/- 8.1e-03 |
test_build_transform_fft_midres | +1.18 +/- 8.45 | +7.56e-03 +/- 5.41e-02 | 6.47e-01 +/- 5.0e-02 | 6.40e-01 +/- 2.1e-02 |
test_build_transform_fft_highres | +0.61 +/- 2.66 | +5.60e-03 +/- 2.43e-02 | 9.19e-01 +/- 2.3e-02 | 9.14e-01 +/- 7.2e-03 |
test_equilibrium_init_lowres | +3.06 +/- 5.59 | +1.21e-01 +/- 2.20e-01 | 4.06e+00 +/- 2.2e-01 | 3.94e+00 +/- 2.4e-02 |
test_objective_compile_atf | -0.06 +/- 2.23 | -5.12e-03 +/- 1.87e-01 | 8.39e+00 +/- 1.5e-01 | 8.39e+00 +/- 1.1e-01 |
test_objective_compute_atf | +2.01 +/- 2.31 | +3.24e-04 +/- 3.71e-04 | 1.64e-02 +/- 2.6e-04 | 1.61e-02 +/- 2.6e-04 |
test_objective_jac_atf | +0.64 +/- 1.85 | +1.27e-02 +/- 3.70e-02 | 2.01e+00 +/- 2.8e-02 | 1.99e+00 +/- 2.4e-02 |
test_perturb_1 | -1.94 +/- 3.46 | -3.01e-01 +/- 5.37e-01 | 1.52e+01 +/- 5.1e-01 | 1.55e+01 +/- 1.5e-01 |
test_proximal_jac_atf | +0.31 +/- 1.33 | +2.48e-02 +/- 1.08e-01 | 8.11e+00 +/- 7.1e-02 | 8.09e+00 +/- 8.1e-02 |
test_proximal_freeb_compute | +0.93 +/- 1.33 | +1.76e-03 +/- 2.50e-03 | 1.90e-01 +/- 2.0e-03 | 1.88e-01 +/- 1.5e-03 |
test_solve_fixed_iter | +1.85 +/- 2.51 | +6.10e-01 +/- 8.28e-01 | 3.36e+01 +/- 6.1e-01 | 3.30e+01 +/- 5.6e-01 |
test_objective_compute_ripple | -0.48 +/- 1.72 | -3.34e-03 +/- 1.21e-02 | 6.97e-01 +/- 8.7e-03 | 7.01e-01 +/- 8.4e-03 |
test_objective_grad_ripple | +0.13 +/- 1.17 | +3.56e-03 +/- 3.13e-02 | 2.67e+00 +/- 2.3e-02 | 2.67e+00 +/- 2.1e-02 |
Should there be a test tto check if the interface works? Maybe have a dummy function instead of the actual TERPSICHORE solver?
Codecov Report
:x: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 95.76%. Comparing base (222b5e0) to head (de2fb48).
:warning: Report is 1 commits behind head on master.
| Files with missing lines | Patch % | Lines |
|---|---|---|
| desc/external/__init__.py | 0.00% | 1 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## master #1046 +/- ##
==========================================
- Coverage 95.77% 95.76% -0.01%
==========================================
Files 100 101 +1
Lines 27727 27728 +1
==========================================
Hits 26555 26555
- Misses 1172 1173 +1
| Files with missing lines | Coverage Δ | |
|---|---|---|
| desc/objectives/_generic.py | 99.41% <ø> (ø) |
|
| desc/external/__init__.py | 0.00% <0.00%> (ø) |
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
Memory benchmark result
| Test Name | %Δ | Master (MB) | PR (MB) | Δ (MB) | Time PR (s) | Time Master (s) |
| -------------------------------------- | ------------ | ------------------ | ------------------ | ------------ | ------------------ | ------------------ |
test_objective_jac_w7x | 3.83 % | 3.851e+03 | 3.999e+03 | 147.48 | 39.64 | 33.92 |
test_proximal_jac_w7x_with_eq_update | 0.12 % | 6.610e+03 | 6.618e+03 | 8.12 | 155.74 | 156.95 |
test_proximal_freeb_jac | -0.07 % | 1.323e+04 | 1.322e+04 | -9.36 | 79.79 | 81.10 |
test_proximal_freeb_jac_blocked | 0.95 % | 7.587e+03 | 7.659e+03 | 72.24 | 71.77 | 72.97 |
test_proximal_freeb_jac_batched | -0.23 % | 7.602e+03 | 7.585e+03 | -17.31 | 71.76 | 73.88 |
test_proximal_jac_ripple | -1.29 % | 3.434e+03 | 3.390e+03 | -44.31 | 59.84 | 62.75 |
test_proximal_jac_ripple_bounce1d | 0.24 % | 3.490e+03 | 3.498e+03 | 8.36 | 75.19 | 78.82 |
test_eq_solve | 1.51 % | 2.048e+03 | 2.079e+03 | 30.94 | 128.48 | 129.49 |
For the memory plots, go to the summary of Memory Benchmarks workflow and download the artifact.
Should there be a test tto check if the interface works? Maybe have a dummy function instead of the actual TERPSICHORE solver?
This is basically what the ExternalObjective and its tests already do.
Left some minor comments