UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer race
Observer
3,287 Views
Registered: ‎05-18-2017

Maximum compute units

In SDaccel there is a limit to the number of compute units that can be used (10 or 16). This refers to kernels connected to memory alone, is it not?

 

I have multiple kernels connected through pipes. Only one kernel is connected to the global memory.

I assumed using pipes will allow more compute units, but SDACCEL is throwing an error saying Max number of compute units exceeded.

 

Is this a bug? or Is this how it's supposed to be. Is there a workaround?

 

thanks

Tags (3)
0 Kudos
3 Replies
Xilinx Employee
Xilinx Employee
3,262 Views
Registered: ‎06-07-2016

Re: Maximum compute units

Hi @race

 

SDAccel allows a maximum of 10 compute units.

 

If your sdaccel_profile_summary.html Compute Unit Utilization section is showing less than 10 compute units and you are getting the error, send me the code to review.

 

References:

GitHub too many cu example

This example shows how too many compute units can negatively impact performance and how a single compute unit can improve the design.

 

GitHub large loop ocl

In this example, multiple compute units are used to improve the performance of the design.

 

Best,

-Dutch

0 Kudos
Moderator
Moderator
3,240 Views
Registered: ‎03-27-2012

Re: Maximum compute units

Hi @race,

 

At least 1 M_AXI and 1 S_AXI bus will be allocated for each kernel no matter whether they are connected to global memory or not.

SDAccel use these AXI buses to en-queue workload, set args and monitor kernel status.

Too many kernels produce huge complex buses and deteriorate timing performance and routability.

 

Thanks,

Sean

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Observer ywu1
Observer
3,215 Views
Registered: ‎05-19-2017

Re: Maximum compute units

For kernels connecting to internal pipes, host intervention should not be needed. This is a good use case SDAccel should support as not only does it increase number of compute units but also get rid of overhead associated with AXI Lite/MM interfaces.