rapidstream-org / rapidstream-tapa

RapidStream-TAPA compiles task-parallel HLS program into high-frequency FPGA accelerators.
https://tapa.rtfd.io
MIT License
149 stars 30 forks source link

Is there a way to do hardware emulation and hardware execution on Versal evaluation boards? #163

Closed OswaldHe closed 1 month ago

OswaldHe commented 1 month ago

The Versal boards require packaging the bitstream with the binary executable to launch the kernel from the ARM core on board. However, TAPA requires some shared library (e.g., libtapa.so) to launch the kernel. Is there a way to statically compile the host binary so that I can launch the kernel without any shared library, or is it possible to transpile TAPA host code into pure OpenCL code? Thank you.

Blaok commented 1 month ago

Hi @OswaldHe,

TAPA requires some shared library (e.g., libtapa.so) to launch the kernel.

TAPA provides both libtapa.so and libtapa.a and you are free to static-link.

is it possible to transpile TAPA host code into pure OpenCL code?

TAPA host code is just a library that calls OpenCL APIs under the hood. If you find it hard to compile the TAPA host code, you can feel free to write your own host code in OpenCL without dependency on TAPA at all. There is no requirement to use TAPA for kernel invocation.