# Issue running rstan models using foreach

**URL:** <https://discourse.mc-stan.org/t/issue-running-rstan-models-using-foreach/23356>\
**Category:** RStan\
**Tags:** rstan\
**Created:** [July 7, 2021, 12:02pm UTC](https://discourse.mc-stan.org/t/issue-running-rstan-models-using-foreach/23356 "2021-07-07T12:02:25Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![sdaza](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/sdaza/32/12979_2.png) [@sdaza](https://discourse.mc-stan.org/u/sdaza)\
**Post date:** [July 7, 2021, 12:02pm UTC](https://discourse.mc-stan.org/t/issue-running-rstan-models-using-foreach/23356/1 "2021-07-07T12:02:25Z")

</div>

I am trying to run models in parallel using `foreach`. I have tried using Linux, Windows and Mac. So far, I only can run the models using my old mac (very slow though).

## Windows 10

- `Error in unserialize(socklist[[n]]) : error reading from connection`
- I am able to run a single model using several cores (chains) without problems
- The foreach models use chains = 1, cores = 1
- rstan\_2.21.2 , StanHeaders\_2.21.0-7, rethinking\_2.13, Rcpp\_1.0.6, RcppParallel\_5.1.4
- No makevars file

## Linux

- ` ***caught segfault*** address 0x7f6e9724d120, cause 'memory not mapped'`
- I am able to run a single model using several cores (chains) without problems
- rstan\_2.21.2 , StanHeaders\_2.21.0-7, rethinking\_2.13, Rcpp\_1.0.6, RcppParallel\_5.1.4
- Makevars:

```no-highlight
CXX14FLAGS=-O3 -march=native -mtune=native -fPIC
CXX14=g++

```

The code I am using has this structure:

```no-highlight
cl = makeCluster(clusters)
registerDoParallel(cl)
    
output = foreach(i = 1:nsamples,
        .packages = c("parallel", "doParallel", 
            "data.table", "rstan", "rethinking")) %dopar% {
    
        options(mc.cores = 1)

        model = ulam(
            flist, 
            data = mdata[[i]], chains = 1, cores = 1, 
            iter = iterations
        )

        return(model)
}

```

Any ideas or suggestions? Thanks!

---

<div class="post-metadata">

**Author:** ![andrjohns](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/andrjohns/32/15297_2.png) [@andrjohns](https://discourse.mc-stan.org/u/andrjohns)\
**Post date:** [July 9, 2021, 9:52am UTC](https://discourse.mc-stan.org/t/issue-running-rstan-models-using-foreach/23356/2 "2021-07-09T09:52:30Z")

</div>

I would guess that it has something to do with each call trying to re-use the same pre-compiled model.

Is it any different if you call : `rstan_options(auto_write = FALSE)` before `ulam` in the `foreach` call?

---

<div class="post-metadata">

**Author:** ![sdaza](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/sdaza/32/12979_2.png) [@sdaza](https://discourse.mc-stan.org/u/sdaza)\
**Post date:** [July 9, 2021, 9:56am UTC](https://discourse.mc-stan.org/t/issue-running-rstan-models-using-foreach/23356/3 "2021-07-09T09:56:12Z")

</div>

No difference :(

Thanks!

---

<div class="post-metadata">

**Author:** ![andrjohns](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/andrjohns/32/15297_2.png) [@andrjohns](https://discourse.mc-stan.org/u/andrjohns)\
**Post date:** [July 9, 2021, 10:13am UTC](https://discourse.mc-stan.org/t/issue-running-rstan-models-using-foreach/23356/4 "2021-07-09T10:13:41Z")

</div>

Does it also error when run sequentially? (i.e. with `%do%`)

---

<div class="post-metadata">

**Author:** ![sdaza](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/sdaza/32/12979_2.png) [@sdaza](https://discourse.mc-stan.org/u/sdaza)\
**Post date:** [July 9, 2021, 10:27am UTC](https://discourse.mc-stan.org/t/issue-running-rstan-models-using-foreach/23356/5 "2021-07-09T10:27:07Z")

</div>

With %do% seems to run fine…

---

<div class="post-metadata">

**Author:** ![sdaza](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/sdaza/32/12979_2.png) [@sdaza](https://discourse.mc-stan.org/u/sdaza)\
**Post date:** [July 12, 2021, 8:43am UTC](https://discourse.mc-stan.org/t/issue-running-rstan-models-using-foreach/23356/6 "2021-07-12T08:43:52Z")

</div>

Using cmdstan solved the issue, thanks!
