[Libre-soc-dev] LLVM Adds A SPIR-V CPU Runner For Handling GPU Kernels On The CPU

Luke Kenneth Casson Leighton lkcl at lkcl.net
Wed Oct 28 03:45:25 GMT 2020

On 10/27/20, vivek pandya <vivekvpandya at gmail.com> wrote:

> Just be transparent, my work on this side has been stalled for a while,

hey good to hear from you

> I
> have tried to copy AMDGPU's NIR-to-LLVM converting code (either converter
> is so big code or my engineering skills are so bad), I started with basic
> arithmetic instructions and few intrinsics
> however when trying a simple shader I found there are still lots of basic
> intrinsics missing and I have to add them before I could see LLVM IR
> generated.

one at a time, with patience.  i remember doing NT domains network
reverse-engineering, it was like one network packet could be
implemented every 3-36 hours and there were... 400 of them?

if you commit what you have, there's the possibility that other people
can chip in and implement one or two of the intrindics, especially if
they are simple.

this is what happened with samba-tng, we built up a small team and
everyone helped do a few packets each.

> if I could find some time and get something ready I will commit it.

do please remember, push to a branch somewhere every time, this is
really important.  it doesn't have to "work", the transparency is
crucial.  don't feel "it's not complete so i musn't let anyone see
it", because this puts you under unnecessary pressure.

> Also there is bit difference in the approach taken by me and AMDGPU's LLVM
> codegen . I am using a ORCJit instance and just trying to get LLVM IR for
> now.

ah good idea.  cut out one of the layers.

> AMDGPU team has created a complete LLVM codegen pipeline where they can
> even choose to schedule some optimization and generate AMD assembly.

yeah istrc jacob mentioning this code originally was the windows
driver thunked onto MESA?  something like that.

anyway thank you for patiently exploring and keeping us updated.


More information about the Libre-soc-dev mailing list