[llvm-dev] [Openmp-dev] [cfe-dev] RFC: Proposing an LLVM subproject for parallelism runtime and support libraries

Chandler Carruth via llvm-dev llvm-dev at lists.llvm.org
Fri Apr 22 15:01:58 PDT 2016


I feel like this thread got a bit stalled. I'd like to pick it up and try
to suggest a path forward.

I don't hear any real objections to the overall idea of having an LLVM
subproject for parallelism runtimes and support libraries. I think we
should get that created.

I don't actually see any real objections to StreamExecutor being one of the
runtimes. There are some interesting questions however:
- Is there common code in the OpenMP runtime that could be unified with
this?
- Could OpenMP end up using SE or some common shared library between them
as a basis for offloading?
- Would instead it make more sense to have the OpenMP offload library be a
plugin for StreamExecutor?

I don't know the answer to any of these really, but I also don't think that
they should prevent us from making progress here. And I think if anything,
they'll become easier to answer if we do.

So my suggestion would be:
1) Create the broader scoped LLVM subproject, including writing up its
charter, scope, plans, etc.

2) Add stream executor to it

3) Initially, leave the OpenMP offloading stuff targeted at OpenMP. Then,
as it evolves, consider moving it to be another runtime in the broad
project if and when it makes sense.

4) As both OpenMP and SE evolve and are used some in the project, evaluate
whether there is a common core that makes sense to extract. If so, do it
and rebase them appropriately.


Does this make sense? Are there objections to moving forward here?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160422/f66f69ae/attachment.html>


More information about the llvm-dev mailing list