cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
4,101 Views
Registered: ‎03-03-2011

SDAccel Resource Reports

Hello,

 

I'm running SDAccel's flow via the terminal, e.g., calling xocc etc.

 

Unlike the GUI, its a little bit more difficult to take a look at the resource usage of the kernels. I have found the reports and I can get all the info the GUI would tell me, but it seems there are many many reports for the same kernel (I'm only implement one actually).

 

Which of the report files is the one given buy the GUI? Also, I remember reading that its possible to generate an HTML (or similar) representation of the reports via command but I can't seem to find it.

 

More importantly, I'm implementing the same kernel with 1, 2, 4 and 8 CUs, but the reports show that the resource requirements are exactly the same. I could understand this if I was looking at the synthesis reports of the kernel HDL alone (which is the same regardless of the number of instances), but the total platform resource usage doesn't change either.

 

Why is this?

 

Thanks,

bandit

0 Kudos
8 Replies
Highlighted
Xilinx Employee
Xilinx Employee
4,035 Views
Registered: ‎06-07-2016

Hi Bandit,

 

In the HLS synthesis report the data displayed is specific to a kernel and is not reported at a compute unit level. However, the system estimate report does contain compute unit level information.

 

You can get the system estimate report with the "--report estimate" option for xocc, see Generating the System Performance Estimate Report for usage.

 

If you want to generate the SDx style reports follow these instructions XOCC/Makefile Flow for Collecting Timeline and Device Trace Data.

 

The HLS synthesis report will have a name like "<kernel>_csynth.rpt" (Note: This is the report without compute unit level data).  

 

To find it in the working directory try

find . -name "*csynth.rpt"

Which should return

./_xocc_compile_binary_container_1_<kernel./impl/kernels/<program>/<kernel>/solution_OCL_REGION_0/syn/report/<kernel>_csynth.rpt

 

Best,

-Dutch

0 Kudos
Highlighted
Adventurer
Adventurer
4,017 Views
Registered: ‎03-03-2011

Hi,

 

Thanks a lot for that answer!

 

However, I've already ran all the compilations I needed (over 20...) and I didn't run them with that "--report estimate" switch. Any way I can get that data post-compilation? Rerunning would take literally dozens of hours.

 

bandit

0 Kudos
Highlighted
Adventurer
Adventurer
3,998 Views
Registered: ‎03-03-2011

Hello again,

 

I've re-ran all my compilations with the report switch, but there's something I don't get.

The report simply prints out several lines (one line per CU), and each CU uses the same resources.

 

Of course this makes sense, but the conclusion is that the resource usage scales linearly with the number of CUs used to implement a kernel. This isn't what I was expecting since, with the loss of hierarchy after placement and routing and so forth, I didn't expect a perfecly linear increase.

 

What I'm assuming is that this estimate gives me the resources used, but doesn't account for slices and LUTs which are used by more than one CU (this is similar to the detailed hierarchical MAP report in the old EDK or Planahead flow, where slices are counted twice if they are used by more than one module).

 

So what I'm looking for is really the total of slices, LUTs, etc, required when increasing the number of CUs. I'm used to finding this info in the PAR report, but now it seems the number of resources given by the "platform_utilization_routed.rpt" are always the same regardless of the number of CUs.

 

Can anyone clarify this please?

 

Thanks

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
3,965 Views
Registered: ‎11-28-2007

If you are looking for utilization reports from vivado implementation, run xocc --report system

 

 

Cheers,
Jim
0 Kudos
Highlighted
Adventurer
Adventurer
3,959 Views
Registered: ‎03-03-2011

Hi there,

 

When I use that switch, whats the output filename I should look for?

 

Thanks

0 Kudos
Highlighted
Adventurer
Adventurer
1,091 Views
Registered: ‎02-28-2015

Hi Guys,

Can anyone tell me what is the different between estimate and system report in SDAccel?

Thank You

0 Kudos
Moderator
Moderator
1,056 Views
Registered: ‎11-04-2010

Hi, @allien ,

The System Estimate report will only be available for C/C++ and OpenCL™ kernels because it is generated by Vivado® HLS, not RTL kernels. The report provides estimates on FPGA resource usage and the frequency at which the hardware accelerated kernels can operate.

The system report contains the real uage of the logic resource.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
Highlighted
Adventurer
Adventurer
1,010 Views
Registered: ‎02-28-2015

Hi @hongh

Thank You

0 Kudos