Hi all,
the last Cmdstan release was about 6 weeks ago and we are now ~6 weeks from the next planned release which is planned to happen on the 20th of July (the 18th is a Saturday). So this seems like a good point to regroup, see where we are at, and also do a last call for starting a project that you wish to get in 2.24.
Ongoing projects:
Disclaimer: I am listing stuff that I am aware of or involved in. There is a huge chance I missed a bunch, so please comment if I did. The list is in no particular order.
- variadic ODEs
Math parts are under review, Stanc3 part is mostly ready but will need a refresher once the Math parts are finalized. I think the main question here is how to name the new functions.
Relevant PRs: https://github.com/stan-dev/design-docs/pull/20, https://github.com/stan-dev/math/pull/1641 and https://github.com/stan-dev/stanc3/pull/525 @bbbales2 other than names this is mostly down to reviews now right?
- adjoint ODEs
I am not completely sure on the details here, the math PR is open. Is this planned for 2.24?
- binary vectorization framework
The core was merged in math. Now extending for complex inputs. There was a bump for exposing some functions that will be resolved with this PR So I think its mostly down to reviews @andrjohns?
- interpolation
Not sure if this will be ready for the release. A preliminary Math PR is open and a design doc https://github.com/stan-dev/design-docs/pull/18 has also been discussed a lot. @pgree do you plan on working on this for 2.24 or the release after that?
- Lambert_W functions
The math PR is I think ready, we need to then expose it in stanc3 which should be easy then need to add docs.
- generalization of functions to accept Eigen expressions
That is an ongoing project that will not be finished until 2.24. The PRs in this project have uncovered some deficiencies in our testing that will need to be addressed.
- static matrices
This is a huge project with some preliminary stuff already open in Math @stevebronder are you targeting 2.24 with preliminary stuff here or the release after that?
- reverse mode specialization for add and subtract
This PR got stalled before the last release. It would be great to get this in for this one.
- optimization in stanc3
The optimizations now pass all tests, we need to split them in different levels and add docs and then test it in the wild. @rybern you are mostly waiting on feedback on docs right?
- OpenCL backend
We added more /prim matrix_cl overloads, the generator is mostly done. We are waiting for static matrices in order to expand the backend to more /rev functions which will be the final jump for the OpenCL backend.
- minor languages stuff
@rybern is adding support for multiple declarations in one line plus refactoring the array declarations (support vector[2][3, 4] vector_name;
).
@nhuurre is adding support for
real L[K];
real U[K];
vector<lower = L, upper = U>[K] alpha;
This is all mostly awaiting reviews I think.
I am trying to expose unnormalized lpdfs/lpmfs outside of the tilde (~
) statements via the _lupdf/_lupmf suffices: https://github.com/stan-dev/stanc3/pull/562 I am going to need some help getting this in the Stan manual once it gets merged. Will request for help then.
- closures
see Closures discussion for all the details on that. Not sure if this is targeting 2.24.
- profiling
see Proposal for profiling Stan models I fell a bit behind with this. I am planning on having a working version of this next week. We will see in 2 weeks if this has any chance of landing. I will definitely not try to push this in at the last minute.
- set the number of threads in Cmdstan as a command line argument rather than an environment variable
See Documenting / rethinking environment var STAN_NUM_THREADS Will try to tackle this next week.
I will post the stuff that was already done in the reply to this post. If anyone wants to help with any of the ongoing stuff, you are all very welcome. Also please post any comments/suggestions on the release process.