UCLA-VAST / tapa

TAPA is a dataflow HLS framework that features fast compilation, expressive programming model and generates high-frequency FPGA accelerators.
https://tapa.rtfd.io
MIT License
144 stars 27 forks source link

Is it possible to generate .xo for multiple different kernels #138

Open tangyuelm opened 1 year ago

tangyuelm commented 1 year ago

Dear Authors,

I have used tapa for a while and now I met a problem and wondering if you are convenient to help.

In my project, I have multiple different kernels which need to be called by the host asynchronously. Therefore, I am wondering if it is possible to generate RTL for different kernels from different top files. For example, I want to deploy the 'topcnn1632' 'topfc1601' and 'topbanks' kernels on the u280 board. I have tried the following command but it considers the topfc1601.cpp topbanks.cpp as unrecognized arguments. Could anyone provide any suggestions? Thank you.

rtl: mkdir $(WORK_DIR) tapac \ --work-dir "$(WORK_DIR)" \ -o $(krnl_name).$(platform).hw.xo topcnn1632.cpp topfc1601.cpp topbanks.cpp\ --platform $(platform) \ --top topcnn1632 topfc1601 topbanks \ --work-dir $(krnl_name).$(platform).hw.xo.tapa \ --enable-floorplan \ --floorplan-output "$(WORK_DIR)/$(krnl_name)_floorplan.tcl" \ --connectivity top.ini \ --max-area-limit 1.1 \

Blaok commented 1 year ago

Hi @tangyuelm, if you would like to generate multiple kernels that will be called by the host separately, you'll need to generate multiple xo files and link them together using v++ --link kernel1.xo kernel2.xo.

tangyuelm commented 1 year ago

Thank you for the reply. However, I have another concern. If I generate multiple. xo for these kernels separately, will the optimization of Autobridge still benefit the overall floorplan for all the kernels?

Licheng-Guo commented 1 year ago

Correct, autobridge does not support multiple xo kernels.

On Sat, Jun 17, 2023 at 5:56 AM tangyuelm @.***> wrote:

Thank you for the reply. However, I have another concern. If I generate multiple. xo for these kernels separately, will the optimization of Autobridge still benefit the overall floorplan for all the kernels?

— Reply to this email directly, view it on GitHub https://github.com/UCLA-VAST/tapa/issues/138#issuecomment-1595741431, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHXOD22LFMKA37PPAJVERSTXLWSP7ANCNFSM6AAAAAAZJWJ2JM . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- -- This email is confidential and intended only for the named recipient(s). Unauthorized review, duplication, or distribution is strictly prohibited. If you receive this email in error, please notify the sender and delete it along with any attachments. Email transmission may not be secure or error-free, and the Company cannot guarantee accuracy or completeness. The Company monitors and reviews emails for security and compliance purposes. This email is for informational purposes only and does not constitute a transaction offer, recommendation, solicitation, request, legal advice, tax advice, or any other kind of suggestion.

tangyuelm commented 1 year ago

I see. Thank you.