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

The interaction of runEval, rpar, and rseq is underdocumented #18

Open
jberryman opened this issue Oct 9, 2017 · 0 comments
Open

The interaction of runEval, rpar, and rseq is underdocumented #18

jberryman opened this issue Oct 9, 2017 · 0 comments

Comments

@jberryman
Copy link

(IMHO). It has never really been clear to me when I should use rseq, even after reading this chapter: http://chimera.labs.oreilly.com/books/1230000000929/ch02.html#sec_par-rpar-rseq

What I'm lacking I think is an intuitive sense of how or when we "block" waiting for a parallel computation to return. Is it the case that once a spark is "converted" to a thread then evaluation of the sparked thunk will block? At what point exactly do sparks fizzle, and how does this relate to the whims of lazy evaluation? Does -feager-blackholing come into play here? Do data dependencies matter at all in this?

I was motivated to open this after reading https://ghc.haskell.org/trac/ghc/ticket/14330 and realizing I don't have a strong sense of what's going on when doing pure parallelism.

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

No branches or pull requests

1 participant