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

SPIRV-LLVMDoes it work on the backend architecture? #2073

Open
leikang123 opened this issue Jul 6, 2023 · 1 comment
Open

SPIRV-LLVMDoes it work on the backend architecture? #2073

leikang123 opened this issue Jul 6, 2023 · 1 comment

Comments

@leikang123
Copy link

Does it work on the backend architecture? Are there any resources in this regard, what is the purpose of this translator project, and does it work on the back-end architecture? Or something else?

@MrSidims
Copy link
Contributor

I would separate translator into 2 parts:

  1. The first one that generates SPIR-V. Across compilers for heterogeneous languages it's used a FE to generate SPIR-V IR. There are several types of such FE, for example GLSL and Vulkan have their own SPIR-V generators. What to do with such SPIR-V IR - is up to the appropriate device's backend.
  2. The second part of the translator generates back LLVM IR. It can be used (though not necessarily) by various SPIR-V consumers across different devices' backends, which are on their own are built on LLVM infrastructure. Yet again, you can already generate machine code right from SPIR-V, but AFAIK several vendors are transforming SPIR-V IR to LLVM IR to be used it later in their backend, for example Intel Graphics Compiler does that, see https://github.com/intel/intel-graphics-compiler .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants