<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>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. <br>
</p>
<p><br>
</p>
<p>Philip<br>
</p>
<br>
<div class="moz-cite-prefix">On 03/06/2018 10:54 AM, Anastasia
Stulova via llvm-dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:AM4PR08MB28332E46E42E648091BAC884F0D90@AM4PR08MB2833.eurprd08.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" dir="ltr" style="font-size:12pt;
color:rgb(0,0,0);
font-family:Calibri,Helvetica,sans-serif,"EmojiFont","Apple
Color Emoji","Segoe UI
Emoji",NotoColorEmoji,"Segoe UI
Symbol","Android Emoji",EmojiSymbols">
<p style="margin-top:0; margin-bottom:0">Hi Chris,</p>
<p style="margin-top:0; margin-bottom:0"><br>
</p>
<p style="margin-top:0; margin-bottom:0">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.
<br>
</p>
<p style="margin-top:0; margin-bottom:0"><br>
</p>
<p style="margin-top:0; margin-bottom:0">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.<br>
</p>
<br>
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.
<p style="margin-top:0; margin-bottom:0"><br>
</p>
<p style="margin-top:0; margin-bottom:0">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.<span></span></p>
<p style="margin-top:0; margin-bottom:0"><br>
</p>
<p style="margin-top:0; margin-bottom:0">Thanks!</p>
<p style="margin-top:0; margin-bottom:0">Anastasia<br>
</p>
<br>
<br>
<div style="color:rgb(0,0,0)">
<hr style="display:inline-block; width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt"
face="Calibri, sans-serif" color="#000000"><b>From:</b>
Chris Lattner <a class="moz-txt-link-rfc2396E" href="mailto:clattner@nondot.org"><clattner@nondot.org></a><br>
<b>Sent:</b> 01 March 2018 01:52<br>
<b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:tstellar@redhat.com">tstellar@redhat.com</a><br>
<b>Cc:</b> Anastasia Stulova; Tomeu Vizoso;
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>; nd<br>
<b>Subject:</b> Re: [llvm-dev] SPIRV-LLVM as an external
tool</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span
style="font-size:11pt">
<div class="PlainText">On Feb 27, 2018, at 10:25 AM, Tom
Stellard via llvm-dev <a class="moz-txt-link-rfc2396E" href="mailto:llvm-dev@lists.llvm.org"><llvm-dev@lists.llvm.org></a>
wrote:<br>
> On 02/27/2018 05:07 AM, Anastasia Stulova wrote:<br>
>>> SPIR-V does not have to be a part of LLVM
for you to do this. You can add<br>
>>> the SPIR-V target to clang and then
define a SPIR-V toolchain (i.e.
clang/Driver/Toolchains)<br>
>>> that uses the external tool to translate
LLVM IR to SPIR-V.<br>
>> <br>
>> <br>
>> Ok. I guess if Clang community accepts this
way, it would be better to set up the SPIRV converter
as a tool of LLVM.<br>
>> <br>
>> 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.<br>
> <br>
> There is no requirement that the tool needs to be
an official part of the LLVM<br>
> project to implement to use it this way For
example, the cuda toolchain<br>
> in clang relies on a few proprietary tools from
NVIDIA.<br>
> <br>
> I think too much emphasis is being placed on
having this tool be part of the<br>
> LLVM project.<br>
<br>
Agreed. Why is it good for LLVM to include this tool?<br>
<br>
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).<br>
<br>
-Chris<br>
<br>
<br>
</div>
</span></font></div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>