Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Look into LLVM's CFG structurizer #55

Open
maleadt opened this issue Feb 24, 2019 · 1 comment
Open

Look into LLVM's CFG structurizer #55

maleadt opened this issue Feb 24, 2019 · 1 comment
Labels
cuda kernels Stuff about writing CUDA kernels. speculative Not sure about this one yet.

Comments

@maleadt
Copy link
Member

maleadt commented Feb 24, 2019

The pass is "transforms the programs control flow graph into a form that's suitable for code generation on hardware that implements control flow by execution masking", and its transforms seem very closely related to what we do in CUDAnative. We should look into why it can't fix up our heavy use of trap.

Originally added for R600, https://github.com/llvm-mirror/llvm/blob/6b7d99d47321ebb478b22afd2e317fe89d2149db/lib/Target/R600/AMDGPUStructurizeCFG.cpp
See discussion in JuliaGPU/CUDAnative.jl#4

@maleadt
Copy link
Member Author

maleadt commented Sep 30, 2019

Apparently the structurizer is not user with NVPTX because of bugs, see https://reviews.llvm.org/D26947 (eg. https://bugs.llvm.org/show_bug.cgi?id=31076 https://bugs.llvm.org/show_bug.cgi?id=25378).

@maleadt maleadt transferred this issue from JuliaGPU/CUDAnative.jl May 27, 2020
@maleadt maleadt added cuda kernels Stuff about writing CUDA kernels. speculative Not sure about this one yet. labels May 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cuda kernels Stuff about writing CUDA kernels. speculative Not sure about this one yet.
Projects
None yet
Development

No branches or pull requests

1 participant