[LLVMdev] Proposal for a new LLVM concurrency memory model
dag at cray.com
Tue Apr 27 12:14:50 PDT 2010
On Tuesday 27 April 2010 13:59:25 Renato Golin wrote:
> On 27 April 2010 19:36, David Greene <dag at cray.com> wrote:
> > And it's not the disaster you fear. It's much easier for the compiler
> > to reason about threads it creates. It gets to control the model.
> I actually fear the well-defined thread implementation of the compiler
> interacting with chaotic threads from user code... ;)
If the user uses OpenMP or some other concurrent language model understood by
the compiler (UPC, CAF, etc.) everything is fine. If the user is mixing a
concurrency library like pthreads or MPI, it's up to the user to make sure the
code is correct. The compiler has to be conservative unless the user tells it
not to be via directive.
Yes, mixing thread models puts a lot of burden on the user. There's not much
we can do about that. Compilers can be taught some things about concurrency
libraries but there's a point of diminishing returns.
More information about the llvm-dev