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

Burst access with tapa::stream #115

Open enes1994 opened 1 year ago

enes1994 commented 1 year ago

Hi,

I am kind of new to this area. I have been using "ap_uint<512>" to use the burst access to HBM's in Xilinx U280. Are there a possibility to use sth like that that we can actually use arbitrary length data types?

And Also I would like to know if it is enough to install only Tapa or should I install AutoBridge as well for Floorplanning?

Blaok commented 1 year ago

I have been using "ap_uint<512>" to use the burst access to HBM's in Xilinx U280. Are there a possibility to use sth like that that we can actually use arbitrary length data types?

I'm not sure if I understand this question. You can #include <ap_int.h> in TAPA. See https://github.com/UCLA-VAST/tapa/blob/release/apps/bandwidth/lfsr.h for an example.

And Also I would like to know if it is enough to install only Tapa or should I install AutoBridge as well for Floorplanning?

AutoBridge is now a dependency of TAPA and will be automatically installed when TAPA is installed.

enes1994 commented 1 year ago

More specifically I have a benchmark which uses dataflow computation approach. I created sub matrices and assigned them different HBMs with HLS INTERFACE in top function. Then I created different hls::stream for each sub matrix and vector. then I load the matrices to those streams and calculate the multiplication then write it to another hls::stream. But those streams have "ap_uint<512>" elements so I can use the burst access. Before the calculation I decompose it to get double elements. I wonder if it is possible to the this with tapa APIs. Or Can I create TAPA streams with ap_uint<512> elements? I wonder also if the floorplannig process is done automatically according to case or Should we create kind of Tcl files?

Blaok commented 1 year ago

I wonder if it is possible to the this with tapa APIs.

Yes, see https://tapa.readthedocs.io/en/release/tutorial/migrate_from_vitis_hls.html for migration from Vitis HLS.

Or Can I create TAPA streams with ap_uint<512> elements?

Yes, of course you can.

I wonder also if the floorplannig process is done automatically according to case or Should we create kind of Tcl files?

See https://tapa.readthedocs.io/en/release/tutorial/autobridge.html#basic-usage.