Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/performance-parity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
--python-report output/performance/python_performance_report.json \
--matlab-report tests/performance/fixtures/matlab/performance_baseline_470fde8.json \
--policy parity/performance_gate_policy.yml \
--previous-python-report tests/performance/fixtures/python/performance_baseline_linux_20260304.json \
--previous-python-report tests/performance/fixtures/python/performance_baseline_linux_latest.json \
--report-out output/performance/performance_parity_report.json \
--csv-out output/performance/performance_parity_report.csv \
--fail-on-regression \
Expand All @@ -81,5 +81,8 @@ jobs:
output/performance/*.json
output/performance/*.csv
tests/performance/fixtures/matlab/performance_baseline_470fde8.json
tests/performance/fixtures/python/performance_baseline_linux_latest.json
tests/performance/fixtures/python/performance_baseline_linux_latest.csv
tests/performance/fixtures/python/performance_baseline_linux_20260304.json
tests/performance/fixtures/python/performance_baseline_linux_20260304.csv
if-no-files-found: warn
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ python tools/performance/compare_matlab_python_performance.py \
--python-report output/performance/python_performance_report.json \
--matlab-report tests/performance/fixtures/matlab/performance_baseline_470fde8.json \
--policy parity/performance_gate_policy.yml \
--previous-python-report tests/performance/fixtures/python/performance_baseline_linux_20260304.json \
--previous-python-report tests/performance/fixtures/python/performance_baseline_linux_latest.json \
--report-out parity/performance_parity_report.json \
--csv-out parity/performance_parity_report.csv \
--fail-on-regression \
Expand Down
2 changes: 1 addition & 1 deletion parity/CYCLE_VALIDATION_CHECKLIST.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Commands used each cycle:
- `python tools/reports/build_image_parity_pdfs.py --report-json <latest-json> --python-out output/pdf/image_mode_parity/python_pages.pdf --matlab-out output/pdf/image_mode_parity/matlab_pages.pdf --pairs-json output/pdf/image_mode_parity/pairs.json`
- `python tools/reports/check_pdf_image_parity.py --python-pdf output/pdf/image_mode_parity/python_pages.pdf --matlab-pdf output/pdf/image_mode_parity/matlab_pages.pdf --out-dir output/pdf/image_mode_parity --dpi 150 --ssim-threshold 0.70 --max-failing-pages 0`
- `python tools/performance/run_python_benchmarks.py --tiers S --repeats 5 --warmup 1 --out-json output/performance/python_performance_report.json --out-csv output/performance/python_performance_report.csv`
- `python tools/performance/compare_matlab_python_performance.py --python-report output/performance/python_performance_report.json --matlab-report tests/performance/fixtures/matlab/performance_baseline_470fde8.json --policy parity/performance_gate_policy.yml --previous-python-report tests/performance/fixtures/python/performance_baseline_linux_20260304.json --report-out output/performance/performance_parity_report.json --csv-out output/performance/performance_parity_report.csv --fail-on-regression --require-regression-env-match`
- `python tools/performance/compare_matlab_python_performance.py --python-report output/performance/python_performance_report.json --matlab-report tests/performance/fixtures/matlab/performance_baseline_470fde8.json --policy parity/performance_gate_policy.yml --previous-python-report tests/performance/fixtures/python/performance_baseline_linux_latest.json --report-out output/performance/performance_parity_report.json --csv-out output/performance/performance_parity_report.csv --fail-on-regression --require-regression-env-match`
- Local macOS reruns use `tests/performance/fixtures/python/performance_baseline_20260303.json` with the same command to satisfy strict env matching.

## Cycle 1
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
case,tier,repeats,median_runtime_ms,mean_runtime_ms,std_runtime_ms,median_peak_memory_mb,summary
unit_impulse_basis,S,7,1.7549330000008467,1.767814000002334,0.03712841168356124,0.39142704010009766,"{""cols"": 50.0, ""rows"": 501.0, ""total_mass"": 500.0}"
unit_impulse_basis,M,7,5.230034999996747,5.244222714285992,0.04359156024491504,3.076793670654297,"{""cols"": 100.0, ""rows"": 2001.0, ""total_mass"": 2000.0}"
unit_impulse_basis,L,7,10.598025999996707,10.61451614285959,0.03639945260812847,18.373775482177734,"{""cols"": 200.0, ""rows"": 6001.0, ""total_mass"": 6000.0}"
covariate_resample,S,7,0.3187809999900537,0.31151314285742565,0.027315777992366848,0.06198883056640625,"{""cols"": 1.0, ""rows"": 1001.0, ""signal_energy"": 0.5195204795204795}"
covariate_resample,M,7,0.3733120000077861,0.3833688571432958,0.027679721024068783,0.1355915069580078,"{""cols"": 1.0, ""rows"": 3001.0, ""signal_energy"": 0.5198042747802833}"
covariate_resample,L,7,0.4388640000030364,0.43310742857321266,0.016053381349413916,0.2376575469970703,"{""cols"": 1.0, ""rows"": 6001.0, ""signal_energy"": 0.5199200133311115}"
history_design_matrix,S,7,0.34009099999821046,0.3473752857193598,0.02510644529088935,0.0890655517578125,"{""cols"": 4.0, ""rows"": 1000.0, ""total_count"": 9737.0}"
history_design_matrix,M,7,0.7935309999993478,0.8029685714266829,0.02089668436143026,0.43688201904296875,"{""cols"": 4.0, ""rows"": 5000.0, ""total_count"": 243740.0}"
history_design_matrix,L,7,1.6487759999961327,1.6487702857140059,0.03152991976246771,0.8869400024414062,"{""cols"": 4.0, ""rows"": 10000.0, ""total_count"": 1462420.0}"
simulate_cif_thinning,S,7,11.90902599999788,11.841307428570401,0.2313883554103292,0.07111740112304688,"{""mean_spikes_per_unit"": 13.8, ""num_units"": 5.0, ""total_spikes"": 69.0}"
simulate_cif_thinning,M,7,46.7842029999872,46.623392285716086,0.34392725136599767,0.13444900512695312,"{""mean_spikes_per_unit"": 23.5, ""num_units"": 10.0, ""total_spikes"": 235.0}"
simulate_cif_thinning,L,7,138.86579399999732,138.25536671428398,2.017449271316567,0.20075607299804688,"{""mean_spikes_per_unit"": 36.65, ""num_units"": 20.0, ""total_spikes"": 733.0}"
decoding_spike_rate_cis,S,7,29.966428000008705,29.846530285713666,0.3328735707401364,0.2328357696533203,"{""num_trials"": 6.0, ""prob_mean"": 0.1509259259259259, ""rate_mean"": 50.4457886636761, ""sig_count"": 0.0}"
decoding_spike_rate_cis,M,7,62.59277799999552,63.25780771428567,1.3782261025910456,0.7640476226806641,"{""num_trials"": 8.0, ""prob_mean"": 0.18562499999999998, ""rate_mean"": 50.12398439148756, ""sig_count"": 0.0}"
decoding_spike_rate_cis,L,7,138.46276700000715,138.051728285717,1.750384804578685,2.7336788177490234,"{""num_trials"": 12.0, ""prob_mean"": 0.21328124999999998, ""rate_mean"": 50.073736692667104, ""sig_count"": 0.0}"
unit_impulse_basis,S,7,1.7951030000062929,1.800190142854977,0.030044572115161792,0.39142704010009766,"{""cols"": 50.0, ""rows"": 501.0, ""total_mass"": 500.0}"
unit_impulse_basis,M,7,6.6628950000051645,6.653057285713463,1.4829550166016998,3.076824188232422,"{""cols"": 100.0, ""rows"": 2001.0, ""total_mass"": 2000.0}"
unit_impulse_basis,L,7,16.024357000020473,16.10430300001196,0.23143857554091385,18.37380599975586,"{""cols"": 200.0, ""rows"": 6001.0, ""total_mass"": 6000.0}"
covariate_resample,S,7,0.29961199999206656,0.29913757142756886,0.009541632013909111,0.06201934814453125,"{""cols"": 1.0, ""rows"": 1001.0, ""signal_energy"": 0.5195204795204795}"
covariate_resample,M,7,0.3440330000046288,0.34703042856725524,0.01738929698449399,0.1356220245361328,"{""cols"": 1.0, ""rows"": 3001.0, ""signal_energy"": 0.5198042747802833}"
covariate_resample,L,7,0.4108699999960663,0.4196135714299284,0.017089334564883416,0.2376880645751953,"{""cols"": 1.0, ""rows"": 6001.0, ""signal_energy"": 0.5199200133311115}"
history_design_matrix,S,7,0.3993699999966793,0.4031285714266427,0.013794363505286652,0.0890960693359375,"{""cols"": 4.0, ""rows"": 1000.0, ""total_count"": 9737.0}"
history_design_matrix,M,7,0.9118490000048496,0.9101645714265162,0.05885667560476089,0.43691253662109375,"{""cols"": 4.0, ""rows"": 5000.0, ""total_count"": 243740.0}"
history_design_matrix,L,7,1.8411630000230161,1.8406257142860991,0.014739662895922209,0.8869705200195312,"{""cols"": 4.0, ""rows"": 10000.0, ""total_count"": 1462420.0}"
simulate_cif_thinning,S,7,12.83120299999041,12.864690857132441,0.17008704628575258,0.07111740112304688,"{""mean_spikes_per_unit"": 12.6, ""num_units"": 5.0, ""total_spikes"": 63.0}"
simulate_cif_thinning,M,7,49.6265170000072,49.62809900000106,0.2452487903460643,0.13447189331054688,"{""mean_spikes_per_unit"": 23.9, ""num_units"": 10.0, ""total_spikes"": 239.0}"
simulate_cif_thinning,L,7,148.1780189999995,147.96911385714193,0.8086479240372416,0.20068740844726562,"{""mean_spikes_per_unit"": 35.2, ""num_units"": 20.0, ""total_spikes"": 704.0}"
decoding_spike_rate_cis,S,7,9.922279000022627,9.8990294285792,0.09977266978679186,0.08637428283691406,"{""num_trials"": 6.0, ""prob_mean"": 0.1509259259259259, ""rate_mean"": 50.4457886636761, ""sig_count"": 0.0}"
decoding_spike_rate_cis,M,7,15.846046000007163,15.825482000000843,0.11100674963412104,0.19997024536132812,"{""num_trials"": 8.0, ""prob_mean"": 0.18562499999999998, ""rate_mean"": 50.12398439148756, ""sig_count"": 0.0}"
decoding_spike_rate_cis,L,7,29.582787000009603,29.530547285718608,0.2645464377729889,0.5168647766113281,"{""num_trials"": 12.0, ""prob_mean"": 0.21328124999999998, ""rate_mean"": 50.073736692667104, ""sig_count"": 0.0}"
nspiketrain_get_sigrep,S,7,0.45410599997808276,0.45695271428160467,0.02263874211807069,0.05826568603515625,"{""binary_sum"": 746.0, ""count_sum"": 800.0, ""n_bins"": 1000.0}"
nspiketrain_get_sigrep,M,7,0.5966520000129094,0.6046927142863622,0.017903597884198864,0.18491363525390625,"{""binary_sum"": 2577.0, ""count_sum"": 3000.0, ""n_bins"": 3000.0}"
nspiketrain_get_sigrep,L,7,0.9368639999820516,0.9338544285648303,0.016064032275827016,0.39853668212890625,"{""binary_sum"": 5000.0, ""count_sum"": 9000.0, ""n_bins"": 5000.0}"
analysis_fit_glm_pipeline,S,7,5.966330000006792,6.041203285718666,0.12616461532934142,0.10829353332519531,"{""coeff_norm"": 8.000957080893618e-16, ""intercept"": -12.01100351405273, ""log_likelihood"": -5.469277525370689e-06, ""pred_mean"": 6.076975028189657e-06}"
analysis_fit_glm_pipeline,M,7,7.278939000002538,7.281217000001204,0.1861142338621149,0.22568511962890625,"{""coeff_norm"": 9.782140347964175e-16, ""intercept"": -12.704150666835071, ""log_likelihood"": -5.46927767729412e-06, ""pred_mean"": 3.038487598496732e-06}"
analysis_fit_glm_pipeline,L,7,9.020953999993253,9.130242857143653,0.1717714863551795,0.4345836639404297,"{""coeff_norm"": 8.223875012950201e-16, ""intercept"": -12.704150666835066, ""log_likelihood"": -9.723160315189595e-06, ""pred_mean"": 3.0384875984967483e-06}"
Loading