Closed SteveBronder closed 2 months ago
This one worked. I took @bgoodri’s provisional stanheaders that had our last attempt, dropped this file in, and rstanarm built on Windows
OK. This is a fine workaround, although it is probably a bug in the C++ compiler or linker if we could come up with a minimal reproducible example.
Perfect let me read this over one more time in the AM and we can merge.
My first attempt at a reproducible example outside of the Stan codebase failed. It's still not entirely clear to me which ingredients are necessary to get the behavior
Name | Old Result | New Result | Ratio | Performance change( 1 - new / old ) |
---|---|---|---|---|
arma/arma.stan | 0.21 | 0.29 | 0.74 | -35.63% slower |
low_dim_corr_gauss/low_dim_corr_gauss.stan | 0.01 | 0.01 | 0.94 | -6.82% slower |
gp_regr/gen_gp_data.stan | 0.02 | 0.02 | 1.0 | 0.18% faster |
gp_regr/gp_regr.stan | 0.12 | 0.11 | 1.04 | 3.96% faster |
sir/sir.stan | 80.65 | 80.59 | 1.0 | 0.07% faster |
irt_2pl/irt_2pl.stan | 4.16 | 4.08 | 1.02 | 1.88% faster |
eight_schools/eight_schools.stan | 0.06 | 0.05 | 1.01 | 1.4% faster |
pkpd/sim_one_comp_mm_elim_abs.stan | 0.25 | 0.26 | 0.99 | -0.87% slower |
pkpd/one_comp_mm_elim_abs.stan | 19.04 | 19.14 | 0.99 | -0.52% slower |
garch/garch.stan | 0.48 | 0.47 | 1.02 | 1.78% faster |
low_dim_gauss_mix/low_dim_gauss_mix.stan | 2.89 | 2.88 | 1.0 | 0.32% faster |
arK/arK.stan | 1.67 | 1.71 | 0.98 | -2.48% slower |
gp_pois_regr/gp_pois_regr.stan | 2.58 | 2.56 | 1.01 | 0.86% faster |
low_dim_gauss_mix_collapse/low_dim_gauss_mix_collapse.stan | 9.6 | 9.45 | 1.02 | 1.63% faster |
performance.compilation | 184.18 | 191.16 | 0.96 | -3.79% slower |
Mean result: 0.9815139635944256
Jenkins Console Log Blue Ocean Commit hash: c6019921b2ba008c773ee9e6eb053db724a2d774
@WardBrian added some docs, think this is good now
Name | Old Result | New Result | Ratio | Performance change( 1 - new / old ) |
---|---|---|---|---|
arma/arma.stan | 0.21 | 0.18 | 1.17 | 14.66% faster |
low_dim_corr_gauss/low_dim_corr_gauss.stan | 0.01 | 0.01 | 0.98 | -2.02% slower |
gp_regr/gen_gp_data.stan | 0.02 | 0.02 | 1.02 | 2.18% faster |
gp_regr/gp_regr.stan | 0.11 | 0.1 | 1.04 | 3.56% faster |
sir/sir.stan | 77.75 | 76.92 | 1.01 | 1.06% faster |
irt_2pl/irt_2pl.stan | 3.91 | 3.92 | 1.0 | -0.07% slower |
eight_schools/eight_schools.stan | 0.05 | 0.05 | 1.05 | 4.92% faster |
pkpd/sim_one_comp_mm_elim_abs.stan | 0.25 | 0.25 | 1.0 | -0.28% slower |
pkpd/one_comp_mm_elim_abs.stan | 17.97 | 18.6 | 0.97 | -3.5% slower |
garch/garch.stan | 0.45 | 0.46 | 0.99 | -1.39% slower |
low_dim_gauss_mix/low_dim_gauss_mix.stan | 2.77 | 2.83 | 0.98 | -2.18% slower |
arK/arK.stan | 1.61 | 1.6 | 1.01 | 0.93% faster |
gp_pois_regr/gp_pois_regr.stan | 2.49 | 2.47 | 1.01 | 0.9% faster |
low_dim_gauss_mix_collapse/low_dim_gauss_mix_collapse.stan | 9.04 | 8.92 | 1.01 | 1.34% faster |
performance.compilation | 175.88 | 175.79 | 1.0 | 0.05% faster |
Mean result: 1.0155958188868495
Jenkins Console Log Blue Ocean Commit hash: 13017193216fe150e9a8fadbc7b3f9cb71f8a58d
Summary
Tries to fix the linking issue again in https://github.com/stan-dev/rstanarm/issues/620
Tests
Same tests as before
@WardBrian or @bgoodri can you try using this version in stanheaders to see what happens?
Checklist
[x] Copyright holder: (fill in copyright holder information)
The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses:
[x] the basic tests are passing
./runTests.py test/unit
)make test-headers
)make test-math-dependencies
)make doxygen
)make cpplint
)[x] the code is written in idiomatic C++ and changes are documented in the doxygen
[x] the new changes are tested