Is it possibe to request low‐level Oneᴀᴘɪ or OpenCl language extensions ?
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.