- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am part of research group which is looking to build a GPGPU framework for FPGAs.
After digging through the internet for similar projects, we came across open source "Vortex GPGPU". From what I understood they built a gpu block, and accompanying language/compiler framework for us to allow running OpenCL code onto FPGA. The downside is that it heavily relies on OPAE driver framework (proprietary to Intel) for communication with FPGA.
We wish to develop a similar open source driver framework for a general FPGA (i.e. which could work on any vendor's FPGA). While scrutinizing the feasibility of this idea, we came across an OPAE implementation for some Xilinx FPGAs.
We are a group with a solid understanding of old-school hardware but lack exposure in the FPGA world.
I would be grateful if you could point out the actual feasibility of this idea of building OPAE like interface which could work on any given FPGA in the market right now. I'm afraid that the very difference in the hardware architecture of different FPGAs would lead to big problems.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Pulak ,
Welcome to our Intel forums and apologies in the delay of replying to your query.
On your question whether is it feasible or not to do a generic open source driver framework for generic vendors (AMD/Xilinx / Lattice etc..), generally it is possible to do something like what Intel OPAE has but we don't recommend it as it might cause other issues as different FPGA (or vendors) in this case has their own customization/configuration or special handling needs to take care of.
Your generic driver must be robust enough to handle different types of vendor drivers and different set of commands and reinterpret it into same generic command for user to use. You might also need to factor in handling those user custom board FPGA using vendor FPGA chipset.
In my opinion , even for Intel alone, the OPAE SDK does do some device detection to detect which intel FPGA family/model is installed on the system and and handles it differently when executing certain commands.
*taken from opae.github.io , high level overview whereby basically you will need to handle different drivers in your framework
I think you meant this repository where they modify the OPAE to support Xilinx
https://github.com/RSPwFPGAs/opae-xilinx
basically it could work on basic functionality but certain specialize functionality will not be available as the OPAE is not configured for Xilinx.
All in all, it is a possible project to make a generic framework for FPGA, but there will be alot of work under the hood just to handle different types of vendors and FPGA types(+support their own functionalities, configurations)
as a side note: Intel FPGA SDK for opencl is being discontinued and moving towards Intel OneAPI (https://www.intel.com/content/www/us/en/docs/programmable/683846/22-4/eol.html)
Thanks
Regards
Kian
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Pulak ,
Welcome to our Intel forums and apologies in the delay of replying to your query.
On your question whether is it feasible or not to do a generic open source driver framework for generic vendors (AMD/Xilinx / Lattice etc..), generally it is possible to do something like what Intel OPAE has but we don't recommend it as it might cause other issues as different FPGA (or vendors) in this case has their own customization/configuration or special handling needs to take care of.
Your generic driver must be robust enough to handle different types of vendor drivers and different set of commands and reinterpret it into same generic command for user to use. You might also need to factor in handling those user custom board FPGA using vendor FPGA chipset.
In my opinion , even for Intel alone, the OPAE SDK does do some device detection to detect which intel FPGA family/model is installed on the system and and handles it differently when executing certain commands.
*taken from opae.github.io , high level overview whereby basically you will need to handle different drivers in your framework
I think you meant this repository where they modify the OPAE to support Xilinx
https://github.com/RSPwFPGAs/opae-xilinx
basically it could work on basic functionality but certain specialize functionality will not be available as the OPAE is not configured for Xilinx.
All in all, it is a possible project to make a generic framework for FPGA, but there will be alot of work under the hood just to handle different types of vendors and FPGA types(+support their own functionalities, configurations)
as a side note: Intel FPGA SDK for opencl is being discontinued and moving towards Intel OneAPI (https://www.intel.com/content/www/us/en/docs/programmable/683846/22-4/eol.html)
Thanks
Regards
Kian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Pulak,
We didnt hear back from you for awhile now. Is there anything else we could help you with?
Otherwise I would like to set this as resolved and close the case
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you very much for replying and providing insights. I would be sure hit up the forum if i hit other roadblocks in future!

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page