Upgrade boost?



I have created an issue for this, but not much movement nor any comments so far. For MPI I do need boost 1.65.0 OR 1.65.1. My preference is for 1.65.1; note that BH on CRAN is at 1.65.0.

The MPI stuff can be setup to run if one tells the Stan build system to use a locally installed boost 1.65.1 in place of the current boost 1.64.0. Note that in boost 1.64.0 the MPI library is BROKEN (for the record, see here: https://svn.boost.org/trac10/ticket/12723).

I know how much pain it was to upgrade to 1.64… however is there any opinion on moving to 1.65?



FWIW, BH on CRAN doesn’t include the Boost MPI functionality anyway, which makes sense, since it’s header-only.


I know about mpi and serialization not being there. However, we are targeting MPI for the beginning to go into cmdstan only and at a later stage possibly for RStan.

Reasons for me to bump boost to 1.65 is that (1) BH is at 1.65 and (2) I would prefer to have 1.65 for MPI matters such that MPI Stan runs have gone through the same testing just like any other Stan program (which is currently being tested with 1.64 on columbia machines).


You can compile Stan using your own boost library, I believe.


I know one can build Stan with any boost. If we decide that the MPI stuff is a marginal feature and we do not want to test it thoroughly, then that’s fine, I think. MPI won’t be trivial to use at the beginning, but for big models it gives dramatic speedups which everyone will probably want to have…


That’s not going to happen! Getting parallel log density calcs going is critical to Stan’s long-term success.


We should be at the same version as BH.

I can upgrade Boost as we have it now, but isn’t the problem that you want a bunch more of the build and that kind of thing? Is there a plan for how to lay that out?

I’m going to move us to 1.65, then we can figure out what we need to add after that.



If you could start the boost upgrade on a branch, I can then add into that branch all bits and pieces needed for boost-build+mpi+serialization.

As an independent issue we should then add all the makefile magic which builds things for the case of a straightforward (macports or homebrew like) installation of MPI. I hope that makes sense.


It’s failing upstream with ADVI for reasons I won’t have time to dig into for a week or so.


Argh, not nice! No worries about some extra days… I won‘t have too much time over Xmas either.