Intel® High Level Design
Support for Intel® High Level Synthesis Compiler, DSP Builder, OneAPI for Intel® FPGAs, Intel® FPGA SDK for OpenCL™
672 Discussions

Is it possibe to request low‐level Oneᴀᴘɪ or OpenCl language extensions ?

ytrezq
Beginner
260 Views

Hello, I don’t know if it’s the right place nor if it’s possible but I was thinking in C/C+ we have the asm() keyword/function or compiler interstics like __builtin_ia32_pcmpistri128() for doing a string search that allow accessing the underlying ᴄᴘᴜ in an advanced way : it’s still up to the compiler to chose if the used variables will be from the stack or a register. It also allow to call C/C++ code.

While I know ʜʟꜱ code is directly, compiled to bitstream, why not have an asm() like keyword that allows to insert Verilog/ᴠʜᴅʟ like low level code ? Or low‑level interstics ? The compiler would still be responsible doing things like clocking the low level code relative to thermal or the lowest possible latency while allowing the low level code to call high‑level functions. Like asking to perform a multiplication directly on a ᴅꜱᴘ instead of being unsure.

This should enable manual optimizations that are currently unsupported automatically like level 4 unfolding transformations or create low bit maths functions that can automatically be reclocked relative to the allowed thermal characteristics.

0 Kudos
5 Replies
aikeu
Employee
218 Views

Hi ytrezq,


I do not know any specific extension about oneapi working with lower level language extention.

The langguage support details are mentioned in the link as below for your reference:

https://www.intel.com/content/www/us/en/developer/articles/technical/expanding-oneapi-support-for-languages-and-accelerators.html


Thanks.

Regards,

Aik Eu


0 Kudos
aikeu
Employee
172 Views

Hi ytrezq,


As we do not receive any response from you on the previous question/reply/answer that we have provided. Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.


Thanks.

Regards,

Aik Eu


0 Kudos
ytrezq
Beginner
159 Views

Hi,

sorry but as written in my post, this isn’t a question but a feature request… I thought to remember there were a guide to request language extension to Oneᴀᴘɪ on the main website.

0 Kudos
JohnShanly
Employee
154 Views
0 Kudos
ytrezq
Beginner
138 Views

In the C analogy using ʀᴛʟ would be equivalent to using a plain .asm file where in .asm you have to care if you use a register or memory which can be handled automatically with a asm/interstic statement. In the ꜰᴘɢᴀ case, this means you still have to clock manually the design.

 

So this is lower level.

 

Also, as far I understand, Verilog/ᴠʜᴅʟ code can’t use Sycl code…

0 Kudos
Reply