[LLVMdev] Upstream PTX backend that uses target independent code generator if possible

David A. Greene greened at obbligato.org
Mon Aug 9 15:25:32 PDT 2010


Che-Liang Chiou <clchiou at gmail.com> writes:

> Hi there,
>
> I have a working prototype of PTX backend, and I would like to
> upstream it if possible.  This backend is implemented by LLVM's target
> independent code generator framework; I think this will make it easier
> to maintain.

How does this relate, at all, to the backend here:

http://sourceforge.net/projects/llvmptxbackend/

If they are unrelated, can you do a comparison of the two?  Perhaps
there are holes in each that can be filled by the other.  It would be
a shame to have two completely different PTX backends.

> I have tested this backend to translate a work-efficient parallel scan
> kernel ( http://http.developer.nvidia.com/GPUGems3/gpugems3_ch39.html
> ) into PTX code.  The generated PTX code was then executed on real
> hardware, and the result is correct.

How much of the LLVM IR does this support?  What's missing?

> So far I have to hack clang to generate bitcode for this backend, but
> I will try to patch clang to parse CUDA (or OpenCL) while I am
> upstreaming this backend.

I think it's a lot of work to do CUDA support for not much benefit.
The OpenMP committee is working on accelerator directives and that's
the better long-term approach, IMHO.  Clang/LLVM would be a great
vehicle to generate/test ideas for such directives.

http://openmp.org/wp/
http://www.pgroup.com/lit/articles/insider/v2n2a5.htm

                         -Dave



More information about the llvm-dev mailing list