Hello, I am trying to run a brms model but running into memory errors even with very small input dataframes. I suspect the problem arises from OS / CLI upgrades and my Makevars file. Here is a code example.
library('tidyverse') library('brms') # Run stan model gt_fit <- brm( formula = gross ~ (1|pid), family = 'lognormal', chains = 2, cores=2, data = df %>% sample_n(1000) %>% filter(gross > 0) %>% select(pid, gross) )
This results in the following output:
Compiling the C++ model Start sampling Error: vector memory exhausted (limit reached?)
Please note the small sample input. Other notebooks with much more demanding memory requirements work just fine (but they don’t use stan).
Here is some useful context:
- I recently upgraded to Catalina (~a month ago), then last week I updated my command line tools and uninstalled / reinstalled R and R binaries.
Here is my sessionInfo()
R version 3.6.2 (2019-12-12) Platform: x86_64-apple-darwin15.6.0 (64-bit) Running under: macOS Catalina 10.15.2 Matrix products: default BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib
brms_2.10.0 Rcpp_1.0.3 rstan_2.19.2 rstantools_2.0.0 vctrs_0.2.1
I suspect the problem is with my Makevars file but don’t want to go around changing things by trial and error.
VER=-9 CC=gcc$(VER) CXX=g++$(VER) CXX11=g++$(VER) CXX14=g++$(VER) CXX17=g++$(VER) CFLAGS=-mtune=native -g -O2 -Wall -pedantic -Wconversion CXXFLAGS=-mtune=native -g -O2 -Wall -pedantic -Wconversion FLIBS=-L/usr/local/Cellar/gcc/9.2.0_1/lib/gcc/9
If I simply comment out all lines in my Makevars file, I get the following output from the above command.
Compiling the C++ model Start sampling SAMPLING FOR MODEL 'b5453acd8ba84f03789636be384f4dc7' NOW (CHAIN 1). Chain 1: Chain 1: Gradient evaluation took 0.000102 seconds Chain 1: 1000 transitions using 10 leapfrog steps per transition would take 1.02 seconds. Chain 1: Adjust your expectations accordingly! Chain 1: Chain 1: Chain 1: Iteration: 1 / 2000 [ 0%] (Warmup)  "Error in sampler$call_sampler(args_list[[i]]) : " " c++ exception (unknown reason)" error occurred during calling the sampler; sampling not done