stan-dev / stan-dev/rstan

options for mclapply

Open
#378 0 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
R
Stars
1.1k
Forks
266
Avg merge
2h 56m
Merged PRs (30d)
1

Description

Summary:

Fitting a large model (1.4m rows, 1m ranefs) and saving ranefs in parallel on a scientific computing cluster leads to the error "long vectors not supported yet" in fork.c. I might be able to fix this by turning off prescheduling in mclapply, but I cannot set options for it from outside rstan.

Description:

It seems to be this issue: http://stackoverflow.com/questions/23231183/mclapply-long-vectors-not-supported-yet?rq=1

Reproducible Steps:

Fit very large model, save ranefs (more than 1m ranefs).

Current Output:

Chain 4, Iteration: 1500 / 1500 [100%] (Sampling)
Elapsed Time: 197373 seconds (Warm-up)
30336.8 seconds (Sampling)
227710 seconds (Total)

Error in sendMaster(try(eval(expr, env), silent = TRUE)) :
long vectors not supported yet: fork.c:376

RStan Version:

2.14.1

R Version:

"R version 3.3.1 (2016-06-21)"

Operating System:

Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Scientific Linux 7.2 (Nitrogen)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the ranef-saving path that invokes mclapply and inspect how its arguments are currently selected. Determine how callers could supply mclapply options, then reproduce the large-ranef workload and confirm the configured scheduling avoids the reported fork.c error.

Written by the indexing model from the issue text.

Assessment

Tech stack
r
Domain
distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.