-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[Draft] runtime: Add initial Xilinx Runtime Library (XRT) support #7668
base: main
Are you sure you want to change the base?
Conversation
@xerpi I am not the reviewer, but I like the CIRCT/XRT idea. As a former Xilinx-accelerated algorithm developer, the pain is to develop a custom linux kernel driver in the programmable system (PS) that talks to the programmable logic (PL). One example is the spinoff Halide-HLS project, which requires a complete userspace/kernelspace software stack to function: https://github.com/stevenbell/ultrazynqbuilder Could you please elaborate more on the target use case? Is it for cloud FPGA (e.g. AWS F1), or for embedded FPGA (e.g. Zynq or Versal with Yocto). They have a different architecture. |
Thanks for the feedback! XRT can target both PCIe and embedded FPGA devices, therefore both targets are supported. In my particular case I was using an embedded Zynq device. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good so far, with some style nits and some details about error handling. How will this be tested?
Thanks for the code review! Currently, there's no way to test it (also that's why it's a Draft). |
OK, so it's pending on (at least) #7587, but I'm not sure what that one is pending -- left a comment there. |
To be used in the future when a path to generate
xclbin
files (Xilinx FPGA bitstream format) from Halide kernels exists.A possible start to this future path is MR #7587, which adds MLIR generation.
After generating MLIR code, CIRCT could be used to generate RTL code.