-
-
Notifications
You must be signed in to change notification settings - Fork 267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Welcome Stan 2.27 and beyond! #887
Conversation
Signed-off-by: Hamada S. Badr <[email protected]>
Signed-off-by: Hamada S. Badr <[email protected]>
Signed-off-by: Hamada S. Badr <[email protected]>
Signed-off-by: Hamada S. Badr <[email protected]>
See RcppCore/RcppParallel#141, stan-dev/math/pull/2257, and stan-dev/math/pull/2261. Signed-off-by: Hamada S. Badr <[email protected]>
Signed-off-by: Hamada S. Badr <[email protected]>
Specifically for the C++ code generated by Stan transpiler (stanc3 nightly) with Stan 2.25.0+. Signed-off-by: Hamada S. Badr <[email protected]>
Useful for debugging. Signed-off-by: Hamada S. Badr <[email protected]>
Signed-off-by: Hamada S. Badr <[email protected]>
Fixes: ``` Module.cpp(90): error: parameter of abstract class type "rstan::io::rlist_ref_var_context" is not allowed: pure virtual function "stan::io::var_context::validate_dims" has no overrider const rstan::io::rlist_ref_var_context context) { ^ ``` Signed-off-by: Hamada S. Badr <[email protected]>
Signed-off-by: Hamada S. Badr <[email protected]>
Signed-off-by: Hamada S. Badr <[email protected]>
Consider removing! Signed-off-by: Hamada S. Badr <[email protected]>
* Rebuild the Rcpp module to expose C++ classes in R. * `ctor_body` is not in the C++ code generated by `stanc3`. Fixes: Error in new_CppObject_xp(fields$.module, fields$.pointer, ...) : no valid constructor available for the argument list Signed-off-by: Hamada S. Badr <[email protected]>
6abcef0
to
3100782
Compare
We can leave it, but I'm worried people are going to see it and go, "well yes of course I want all the optimizations" whenever we haven't tested when and where some of the optimizations are good. Like in the stan-dev/stanc3#549 I'm proposing we actually change turning all optimizations to |
I think we can replace |
Any news from openMX as to when they push things to CRAN? I recall that openMX is the limiting factor keeping us from uploading rstan 2.26 everyone is waiting for, right? |
I'm not sure about the current stage of the preparation for CRAN submission. @bgoodri hasn't been responding and I don't know if he's waiting for something else besides |
@wds15 We submitted OpenMx w/ the needed changes to CRAN back in 26 March. I'm not sure what's going on with CRAN, but they seem incredibly slow this year. I gave them a nudge this morning. |
I'm glad to report that CRAN approved OpenMx today. |
R 4.1.0 is out for some days now making RTools 3.x history on Windows. Does that help us to get rstan to CRAN any time soon? |
Need to update the Stan submodules once it the development version is bumped.
I defer to @bgoodri. |
@bgoodri @rok-cesnovar Is there any progress on the CRAN release? If you're busy, would it make sense for me to take care of it? I'll need @bgoodri's help, as the maintainer of |
I've been falling behind. Once I get into my office Friday I'll restart the
computers so I can run all the reverse dependency tests, and we can see
where everything is at.
…On Thu, Jun 3, 2021 at 12:04 AM Hamada S. Badr ***@***.***> wrote:
@bgoodri <https://github.com/bgoodri> @rok-cesnovar
<https://github.com/rok-cesnovar> Is there any progress on the CRAN
release? If you're busy, would it make sense for me to take care of it?
I'll need @bgoodri <https://github.com/bgoodri>'s help, as the maintainer
of rstan. I think we should plan to release rstan v2.27.0 on time and
follow Stan release cycle (with likely different minor version number for
minor updates and bug fixes, etc.).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#887 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAZ2XKWLBQMNFA3YMNS3KLLTQ35LRANCNFSM4VC4HPFA>
.
|
@bgoodri are there major hickups with the reverse dependency thing? In case my packages - RBesT & OncoBayes2 - need attention, then let me know; maybe this will benefit others as well. |
@jpritikin Unfortunately, Intel TBB is required for Stan/Math now. Could you let StanHeaders/include/stan/math/prim/core/init_threadpool_tbb.hpp:12:10:
fatal error: tbb/task_scheduler_init.h: No such file or directory
12 | #include <tbb/task_scheduler_init.h> Check the complete |
@hsbadr Thanks for the heads up. We'll get that changed and submitted to CRAN, ASAP. |
Great! Thanks @jpritikin! |
Summary:
This adds support to the
develop
branch ofstan
. One of the major disadvantages of RStan is the delayed support to the latest version of Stan and being behind Stan development. This tries to make RStan follow Stan development.stanc3
) to generate C++ code from Stan code.math
submodule.StanHeaders/inst/include
for the reorganized directory structure.stan
andmath
submodules, recursively, and fixed related issues.stan
andmath
headers.StanHeaders
andrstan
.StanHeaders
build script.StanHeaders
build script in GHA workflows.StanHeaders
in a separate step in GHA workflows.StanHeaders
on Windows, macOS, and Linux.rstan
compilation errors on Windows:RcppParallel
flags forrstan
plugin.RcppParallel
now supports the new interface of Intel TBB and allows using external library, including oneTBB which uses a new interface. This requires specific compiler flags to link to the correct version of TBB library.stan::io::validate_dims
.stanc_process()
helper function to process Stan code.stanc
to print errors and return code for debugging.math
(currently,sundials 5.7.0
).rstan
dependency on the development version ofStanHeaders
.StanHeaders
in the GitHub workflows.no valid constructor
errors and rebuilt theRcpp
module to expose C++ classes in R.Rcpp
module C++ code usingclang-format
.rstanarm
andbrms
.rsran
optionthreads_per_chain
has been added to control the within-chain number of threads (n
):Stan
functionsreduce_sum()
ormap_rect()
). The actual number of CPU cores used ischains * threads_per_chain
wherechains
is the number of parallel chains. For an example of using threading, see Reduce Sum: A Minimal Example.threads_per_chain > 1
(See Fix the new TBB interface and use tbb::task_arena math#2261).OpenCL
headers toStanHeaders
; see Add OpenCL header to StanHeaders #715.stanc3
flags instanc
andstan_model
:allow_optimizations
: Allow the compiler to apply all optimizations to the Stan code. Currently not implemented.standalone_functions
: If set, the generatedC++
will be the standalone functionsC++
code.use_opencl
: If set, try to usematrix_cl
signatures.warn_pedantic
: Emit warnings about common mistakes in Stan programs.warn_uninitialized
: Emit warnings about uninitialized variables. Currently an experimental feature.expose_stan_functions
withstanc3
.rstan
startup messages.parse_data()
to remove trailing double underscores and invalid regex matches for working withEigen::Map
types in the Stan model (thanks to @SteveBronder).This has been tested on
R Under development (unstable) (2021-06-14 r80502) -- "Unsuffered Consequences"
.Intended Effect:
Full support to Stan development.
How to Verify:
StanHeaders
andrstan
:remotes
packageinstall.packages("remotes")
StanHeaders
:rstan
:Run RStan examples, such as those in this vignette,
Reinstall
rstanarm
andbrms
and run their tests.Test your own Stan models.
Side Effects:
Need to double check for backward compatibility.
Documentation:
N/A
Reviewer Suggestions:
@bgoodri & @rok-cesnovar
Copyright and Licensing
Hamada S. Badr [email protected]