[llvm-dev] SPIRV-LLVM as an external tool
Philip Reames via llvm-dev
llvm-dev at lists.llvm.org
Tue Mar 6 15:07:54 PST 2018
I've only been skimming the discussion thread so far, but so far, I see
no strong reason for this to be a LLVM subproject in it's current form.
I would recommend pursing a standalone open source project, building a
community around the common development, and then return to this
proposal once there is an existing community around an existing
codebase. Until that time, I see lots of downside for LLVM in accepting
this project and little benefit.
Philip
On 03/06/2018 10:54 AM, Anastasia Stulova via llvm-dev wrote:
>
> Hi Chris,
>
>
> The main benefit for LLVM to include SPIRV support directly is to
> increase the number of users and developers in the area of
> heterogeneous computing, e.g. GPUs, FPGAs, DSPs.
>
>
> We want to increase the number of such devices that LLVM natively
> supports by adding compilation to SPIRV due to the shortage of
> proprietary backends in upstream LLVM.
>
>
> Just to clarify we are currently suggesting to integrate the converter
> as a subproject of LLVM, similar to Clang or libclc, to reduce the
> overhead for the overall community in maintaining it and running tests.
>
>
> One more thing to be mentioned, the latest OpenCL standards evolve
> towards off-line compilation from OpenCL C++ to SPIRV. So having SPIRV
> generation directly in LLVM would allow us to deliver fully complete
> and compliant OpenCL C++ support, without using any external tools.
> See discussion with Tom earlier.
>
>
> Thanks!
>
> Anastasia
>
>
>
> ------------------------------------------------------------------------
> *From:* Chris Lattner <clattner at nondot.org>
> *Sent:* 01 March 2018 01:52
> *To:* tstellar at redhat.com
> *Cc:* Anastasia Stulova; Tomeu Vizoso; llvm-dev at lists.llvm.org; nd
> *Subject:* Re: [llvm-dev] SPIRV-LLVM as an external tool
> On Feb 27, 2018, at 10:25 AM, Tom Stellard via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
> > On 02/27/2018 05:07 AM, Anastasia Stulova wrote:
> >>> SPIR-V does not have to be a part of LLVM for you to do this. You
> can add
> >>> the SPIR-V target to clang and then define a SPIR-V toolchain
> (i.e. clang/Driver/Toolchains)
> >>> that uses the external tool to translate LLVM IR to SPIR-V.
> >>
> >>
> >> Ok. I guess if Clang community accepts this way, it would be better
> to set up the SPIRV converter as a tool of LLVM.
> >>
> >> So the question is are there any downsides of this? Or would anyone
> object if we add the converter to the LLVM project as an optional
> tool? We would of course take care of configuring and maintaining it
> ourselves.
> >
> > There is no requirement that the tool needs to be an official part
> of the LLVM
> > project to implement to use it this way For example, the cuda toolchain
> > in clang relies on a few proprietary tools from NVIDIA.
> >
> > I think too much emphasis is being placed on having this tool be
> part of the
> > LLVM project.
>
> Agreed. Why is it good for LLVM to include this tool?
>
> If there was a strong rationale for doing so, it would probably make
> sense to be a new subproject of some sort rather than included in the
> main llvm repo (not sure if that is what was being proposed).
>
> -Chris
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180306/d69ef2bb/attachment-0001.html>
More information about the llvm-dev
mailing list