Cmdstan 2.26.1

There was a problem with autodiff for cholesky_decompose introduced in 2.26.0 that we can fix with a 2.26.1 release. This breaks a pretty important function in a subtle way is why it would be good to fix it with another release.

There was additionally a problem with using row_vector types with OpenCL distributions that can be fixed as well.

  • The cholesky_decompose issue is here and the fix is here.
  • The row vector issue is here and the fix is here.

The plan is to do a 2.26.1 hotfix release with these two patches Monday.

Sound good? @Stan_Development_Team

11 Likes

+1

Do we also remove the finite check in the constraints? Checking whether lower/upper bounds are finite breaks backward compatibility · Issue #2367 · stan-dev/math · GitHub

Seems to break backward compatibility for rstanarm (or just a branch of it).

Ignore, develop issue, not 2.26

As I understand you, then this bug makes rstanarm choke up and we will fix it by 2.27.0? Then I would say put it into the .1 now.

That is tied in with how the constrains work and that changed after the 2.26 release.

Is rstanarm using Develop Math? It shouldn’t break if it uses the 2.26 Math cause those changes aren’t in.

ok, then it should stay as is if 2.26.0 master is fine in this regard for rstanarm.

Oh then the stanheaders branch is using develop. Ignore the above then.

Excellent speedy fixing. This probably explains some trouble I had with cholesky just the other day.

There was a problem with the build. Pushing to tomorrow.

2 Likes

Another problem came up this morning. There was a bug with how reduce_sum was working with expressions.

The issue is here the fix is here and hopefully 2.26.1 appears tomorrow.

What is the magnitude of the cholesky issue? When 2.26.1 is out should we be recommending folks re-run their models? I ran a model using 2.26.0 that took over a day recently for a paper with a deadline soon and am worried that the bug implies I can’t trust the current result. If that’s the case I’ll put in the work to figure out how to pull the dev branch to get it resampling ASAP.

I would rerun the calculation :(. If your model is affected (and it is tricky to know for sure), then your model is doing the wrong thing.

The easier thing to do is probably just use a 2.25.0 cmdstan tarball.

It is fixed in the master branch of Math which is different than develop (the fixes will get merged back into develop after 2.26.1 is out).

So to work with master do:

git clone --recursive https://github.com/stan-dev/cmdstan.git
cd cmdstan/stan/lib/stan_math
git checkout master

And you can rebuild and use this cmdstan with cmdstanr with:

cmdstanr::rebuild_cmdstan(dir = clone_dir, cores = cores)
set_cmdstan_path(clone_dir)
1 Like

Is the point release listed in the build?

I did a clean build from scratch

git clone https://github.com/stan-dev/cmdstan.git --recursive

cd cmdstan
make build -j8
--- CmdStan v2.26.0 built ---
1 Like

Ooo, good catch, what should develop show again @rok_cesnovar @hsbadr ?

I checked develop right now and the 2.26.1 fixes should be in there (I see the fixes for cholesky_decompose and reduce_sum and the merge that should have included all the fixes).

So if you just cloned this a couple minutes ago you should be good to go.

@bbbales2 Stan is pending Threaded tests for expressions and update version numbers by rok-cesnovar · Pull Request #3007 · stan-dev/stan · GitHub to update the version number while CmdStan is ok after merging Updating version numbers by rok-cesnovar · Pull Request #985 · stan-dev/cmdstan · GitHub. Both should show 2.26.1.

1 Like

When loading cmdstanr I get a warning that a newer version of CmdStan is available. I have the path set to where I just built the cloned git repo.

Yeah this line should be bumped as well:

Missed that, sorry. Will get right on it.

1 Like

Oooh, yeah all that cmdstanr is doing is checking version numbers. You should be safe to ignore this warning because we need to update our version numbers in develop.

Pulled, rebuilt, and the version bump is in there.

Thanks all!

3 Likes