[llvm-dev] SPIRV-LLVM as an external tool

Neil Hickey via llvm-dev llvm-dev at lists.llvm.org
Thu Mar 8 04:30:24 PST 2018


Thanks for your feedback Philip. Could you perhaps explain what the downsides to LLVM are of accepting this as a subproject as I can't really see any myself.


Neil

________________________________
From: llvm-dev <llvm-dev-bounces at lists.llvm.org> on behalf of Philip Reames via llvm-dev <llvm-dev at lists.llvm.org>
Sent: 06 March 2018 23:07:54
To: Anastasia Stulova; Chris Lattner
Cc: llvm-dev at lists.llvm.org; nd; Tomeu Vizoso
Subject: Re: [llvm-dev] SPIRV-LLVM as an external tool


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><mailto:clattner at nondot.org>
Sent: 01 March 2018 01:52
To: tstellar at redhat.com<mailto:tstellar at redhat.com>
Cc: Anastasia Stulova; Tomeu Vizoso; llvm-dev at lists.llvm.org<mailto: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><mailto: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<mailto:llvm-dev at lists.llvm.org>
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180308/cc90887b/attachment.html>


More information about the llvm-dev mailing list