<div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 13, 2020 at 11:27 AM Luke Kenneth Casson Leighton <<a href="mailto:lkcl@lkcl.net">lkcl@lkcl.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br><br>On Monday, January 13, 2020, Jacob Lifshay <<a href="mailto:programmerjake@gmail.com" target="_blank">programmerjake@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, Jan 9, 2020 at 3:56 AM Luke Kenneth Casson Leighton<br>
<<a href="mailto:lkcl@lkcl.net" target="_blank">lkcl@lkcl.net</a>> wrote:<br>
><br><br>
> jacob perhaps you could clarify, here?<br>
<br>
So the major issue with the approach AMDGPU took where the SIMT to<br>
predicated vector translation is done by the LLVM backend is that LLVM<br>
doesn't really maintain a reducible CFG, which is needed to correctly<br>
vectorize the code without devolving to a switch-in-a-loop. <br></blockquote></blockquote><div><br></div><div>Welcome to working on GPUs.  :-)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hopefully, that all made sense. :)</blockquote><div><br></div><div>yes :) as you're actively designing this you have a way better handle on it.</div><div><br></div><div>also, therefore, to be clear, to anyone interested in receiving funding to do this work, you can see that there will be someone else to work with who knows what they're doing, technically.</div><div><br></div><div>thank you jacob.</div><div><br></div><div>jason i'd be interested to hear your thoughts on what jacob wrote, does it alleviate your concerns, (we're not designing hardware specifically around vec2/3/4, it simply has that capability).</div></blockquote><div><br></div><div>Not at all.  If you just want a SW renderer that runs on RISC-V, feel free to write one.  If you want to vectorize in hardware and actually get serious performance out of it, I highly doubt his plan will work.  That said, I wasn't planning to work on it so none of this is my problem so you're welcome to take or leave anything I say. :-)</div><div><br></div><div>--Jason<br></div></div></div>