[llvm-dev] Clang option to provide list of target-subarchs.

Eric Christopher via llvm-dev llvm-dev at lists.llvm.org
Tue Feb 7 13:39:39 PST 2017

Adding Justin as well.

Overall this seems reasonable to me depending on the actual patch :)


On Mon, Feb 6, 2017 at 7:23 PM Rodgers, Gregory via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> There are at least four clang frontends for offloading to accelerators:
> 1 Cuda clang  2 OpenMP  3 HCC and 4 OpenCL.    These frontends will
> want to embed object code for multiple offload targets into a single
> application binary to provide portability across different subarchitectures
> (e.g. sm_35, sm_50) and across different architectures (e.g
> nvptx64,amdgcn).
> Problem:  Different frontends are using different flags to provide a
> list of subarchitectures.  For example, cuda clang repeats the flag
> “--cuda-gpu-arch=sm_35  --cuda-gpu-arch=sm_50” and HCC uses
> “--amdgpu-target=gfx701 --amdgpu-target=gfx802”.
> We propose a common clang flag to provide a list of target
> subarchitectures called “target-subarchs”. For example,
> --target-subarchs=sm_35,sm_50,gfx701,gfx802
> In discussions with HCC and OpenMP maintainers,  we believe a new
> flag name would have these requirements:
>    end in “s” because it is a list;
>    not have vendor specific names like cuda and amd;
>    not contain “gpu” because offloading may extend to non-gpu archs;
>    avoid “arch” by itself so as not to be confused with first field of a
> triple;
>    and not collide with existing flags to allow both options.
> "--target-subarchs" satisfies all the above.  Comments?
> Greg Rodgers
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170207/ebe51191/attachment.html>

More information about the llvm-dev mailing list