Skip to content

Prepare version 0.22 - #2275

Open
juanitorduz wants to merge 1 commit into
pyro-ppl:masterfrom
juanitorduz:prep-022-relase
Open

juanitorduz wants to merge 1 commit into
pyro-ppl:masterfrom
juanitorduz:prep-022-relase

Conversation

@juanitorduz

@juanitorduz juanitorduz commented Sep 17, 2026

Copy link
Copy Markdown
Collaborator

Closes #2255

bump version

fyi @fehiepsi

@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@github-actions github-actions Bot added the awaiting review Awaiting review from maintainers label Sep 17, 2026
@github-actions

Copy link
Copy Markdown

Benchmark report

this PR prep-022-relase at 7063088f vs baseline master at 0adc509b

- run time:     1 slower, 1 faster
  compile time: unchanged across 32 benchmarks

Significant changes (2)

                         ─────── run time ───────     ────── compile time ─────
  benchmark              baseline  this PR      Δ     baseline   this PR      Δ
───────────────────────────────────────────────────────────────────────────────
- categorical_log_prob     2.1 ms   2.2 ms  +7.7%      69.6 ms   73.3 ms  +5.3%
+ normal_sample           23.5 ms  22.3 ms  -5.3%     206.5 ms  215.3 ms  +4.3%

Red is slower, green is faster; a row is coloured by the worse of its two columns. A delta in parentheses cleared the threshold on a measurement below the resolution floor, so it is shown without being called a change. † marks a benchmark that could not be compared — see below.

Full results

distributions

                                 ──────── run time ────────     ────── compile time ──────
  benchmark                      baseline  this PR        Δ     baseline   this PR       Δ
──────────────────────────────────────────────────────────────────────────────────────────
  biject_to_constraints            4.1 ms   4.0 ms    -2.3%     401.3 ms  373.9 ms   -6.8%
- categorical_log_prob             2.1 ms   2.2 ms    +7.7%      69.6 ms   73.3 ms   +5.3%
  dirichlet_log_prob               651 µs   645 µs    -0.9%     440.1 ms  448.3 ms   +1.9%
  dirichlet_sample                45.2 ms  46.0 ms    +1.8%     894.8 ms  868.1 ms   -3.0%
  gamma_log_prob                   2.2 ms   2.2 ms    +0.9%       2.30 s    2.37 s   +3.0%
  gamma_sample                    21.7 ms  22.0 ms    +1.4%     852.7 ms  826.9 ms   -3.0%
  lkj_cholesky_sample              5.5 ms   5.4 ms    -1.0%       1.21 s    1.21 s   +0.1%
  mixture_same_family_log_prob     1.0 ms   979 µs    -2.9%      83.8 ms   83.6 ms   -0.3%
  multivariate_normal_log_prob     268 µs   273 µs    +2.0%     570.0 ms  562.9 ms   -1.3%
  normal_log_prob                  802 µs   764 µs    -4.8%      67.7 ms   56.8 ms  -16.1%
+ normal_sample                   23.5 ms  22.3 ms    -5.3%     206.5 ms  215.3 ms   +4.3%
  stick_breaking_transform         6.3 ms   6.3 ms    +0.4%     221.3 ms  206.2 ms   -6.8%
  student_t_log_prob               3.1 ms   3.1 ms    -0.4%      81.8 ms   79.6 ms   -2.7%
  truncated_normal_log_prob        916 µs   856 µs  (-6.5%)      57.3 ms   54.9 ms   -4.2%

handlers

                                  ───────── run time ─────────     ────── compile time ──────
  benchmark                       baseline   this PR         Δ     baseline   this PR       Δ
─────────────────────────────────────────────────────────────────────────────────────────────
  initialize_model_hierarchical    42.8 ms   44.3 ms     +3.5%       3.83 s    3.80 s   -0.7%
  log_density_hierarchical          3.8 ms    3.9 ms     +2.1%       1.26 s    1.24 s   -1.7%
  nested_handler_stack              1.5 ms    1.5 ms     +1.5%       554 µs    675 µs  +21.9%
  potential_energy_and_grad          28 µs     22 µs  (-20.2%)     100.9 ms   99.8 ms   -1.1%
  predictive_forward_sampling     743.9 ms  752.4 ms     +1.2%     177.3 ms  153.9 ms  -13.2%
  trace_seeded_model                875 µs    880 µs     +0.6%     537.1 ms  549.1 ms   +2.2%

mcmc

                             ──────── run time ───────     ────── compile time ─────
  benchmark                  baseline   this PR      Δ     baseline  this PR       Δ
────────────────────────────────────────────────────────────────────────────────────
  hmc_logistic_regression    741.4 ms  751.4 ms  +1.3%       3.24 s   3.24 s   -0.1%
  nuts_dense_mass_funnel       1.20 s    1.18 s  -1.8%       2.56 s   2.51 s   -1.8%
  nuts_eight_schools           1.17 s    1.16 s  -1.4%       2.55 s   2.47 s   -3.3%
  nuts_hierarchical_glm        4.86 s    4.90 s  +1.0%       4.86 s   6.04 s  +24.1%
  nuts_logistic_regression     1.12 s    1.09 s  -2.9%       3.37 s   3.26 s   -3.4%
  nuts_vectorized_chains       2.60 s    2.56 s  -1.5%       2.95 s   2.95 s   -0.0%

svi

                                             ──────── run time ───────     ───── compile time ─────
  benchmark                                  baseline   this PR      Δ     baseline  this PR      Δ
───────────────────────────────────────────────────────────────────────────────────────────────────
  svi_autodelta_map_logistic                 326.3 ms  319.0 ms  -2.3%       3.21 s   3.08 s  -4.0%
  svi_autodiagonalnormal_hierarchical          1.05 s    1.06 s  +0.3%       5.22 s   4.93 s  -5.5%
  svi_automultivariatenormal_eight_schools   766.0 ms  768.9 ms  +0.4%       4.46 s   4.39 s  -1.6%
  svi_autonormal_logistic                    795.5 ms  783.4 ms  -1.5%       3.51 s   3.49 s  -0.5%
  svi_multi_particle_elbo                      1.55 s    1.55 s  +0.3%       3.64 s   3.65 s  +0.2%
  svi_trace_mean_field_elbo                    1.37 s    1.35 s  -1.4%       5.40 s   5.48 s  +1.4%
Methodology and environment

Each benchmark is set up untimed, then called once with the JAX caches cleared and several more times warm. Run is the fastest warm call; compile is the first call minus that, i.e. the tracing, lowering and XLA compilation the warm calls did not have to pay for.

Both refs were measured on the same runner over 2 interleaved round(s), taking the best observation per benchmark. A result is called neutral when it moves less than ±5% (run) or ±25% (compile), or when the measurement itself is under 1 ms (run) / 50 ms (compile) — a shared CI runner cannot resolve changes below that. Compile time gets the looser band because it is measured once per round rather than best-of-N, and swings by roughly 20% even between two runs of identical code. A delta shown in parentheses did clear its threshold, but on a measurement below the resolution floor, so it is reported without being called a change.

baseline this PR
ref master prep-022-relase
commit 0adc509b 7063088f
numpyro 0.21.0 0.22.0
jax 0.11.1 0.11.1
backend cpu cpu
python 3.14.7 3.14.7

Runner: Linux-6.17.0-1022-azure-x86_64-with-glibc2.39, 4 CPUs.

Produced by this benchmark run.

@juanitorduz

Copy link
Copy Markdown
Collaborator Author

I will wait for #2276

@Qazalbash

Copy link
Copy Markdown
Collaborator

@juanitorduz, #2276 is now on main!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting review Awaiting review from maintainers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Release 0.22.0

2 participants