Skip to content
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

Parallel processing using Joblib #973

Merged
merged 24 commits into from Feb 23, 2016
Merged

Parallel processing using Joblib #973

merged 24 commits into from Feb 23, 2016

Conversation

fonnesbeck
Copy link
Member

Implemented Joblib to control parallel processing, rather than multiprocessing. Greatly simplifies sample as a side-benefit. Closes #879

@@ -124,37 +124,26 @@ def sample(draws, step=None, start=None, trace=None, chain=0, njobs=1, tune=None
step = assign_step_methods(model, step)

if njobs is None:
import multiprocessing
njobs = max(mp.cpu_count() - 2, 1)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we should just set the default to 2. That way everyone gets 2 chains unless they say otherwise, which allows Gelman-Rubin to be calculated.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good to me. But should make sure it's stable across platforms first.

@twiecki
Copy link
Member

twiecki commented Feb 23, 2016

@fonnesbeck Not sure what the status here is but it looks good to me. I suppose it doesn't affect the recursion problem but simplifies the code?

@fonnesbeck
Copy link
Member Author

Was just awaiting review. Will rebase and merge.

fonnesbeck pushed a commit that referenced this pull request Feb 23, 2016
Parallel processing using Joblib
@fonnesbeck fonnesbeck merged commit 24fb35c into master Feb 23, 2016
@fonnesbeck fonnesbeck deleted the joblib branch February 23, 2016 22:44
@hvasbath
Copy link
Contributor

hvasbath commented Mar 2, 2016

I simply get a segmentation fault (core dumped) now when using njobs>1 for a complex model. No trace-back nothing. For simple models it works fine!
Is there any way how I can investigate the reason for the segmentation fault? Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants