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: 
542 Views
Registered: ‎11-28-2018

Misunderstanding Application timeline

Jump to solution

Hi all!

I want to understand how to increase speed for my RTl kernel. So, i saw reports (Profile summary, Apllication Timeline, Waveform).

I am a little bit confused by difference of evaulated time in this reports. 

After Hardware -Emulation i see next in Profile Summary time result for my RTL kernel 

t = 0.014ms (see fig)

From Apllication timeline i see another result 

t = 5302.48ms(see fig). So, there is difference in more than 1e5 times in compare with Profile Summary

If I look at the Waveform result i will see third result

t = 0.007ms (0.041 - 0.034)

1) What is the time correct? 

i hope that i can get t=  ~ 0.014ms (like in Profile Summary and Waveform )

But after System Run i got t = 0.2ms

2) Why there is so big difference between Hardware -Emulation and System Run (t = 0.007ms vs t = 0.2ms). Where is performance loss and how can improve performance. It seems i can not increase speed, according to Apllication -timeline

 

Thank you in advance

 

 

 

Profile Summary.PNG
Apllcation timeline .PNG
Waveform.PNG
0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
472 Views
Registered: ‎11-04-2010

Re: Misunderstanding Application timeline

Jump to solution

Hi, @ruslan_spb_leti ,

The DDR memory model and the Memory Interface Generator (MIG) model used in
Hardware Emulation are high-level simulation models. These models are good for simulation performance, however they approximate latency values and are not cycle-accurate like the kernels.
Consequently, any performance numbers shown in the profile summary report are approximate, and must be used only as a general guidance and for comparing relative performance between different kernel implementations.

So you cannot compare the time used by kernel in HW-Emu and System run.

Kernel Enqueues: The kernels here should not be confused with the users kernels/compute-unit on the device. By kernels here we mean the NDRangeKernels and the Tasks created by APIs clEnqueueNDRangeKernels() and clEnqueueTask() and these are plotted against the time measured from the host’s perspective. 

 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

3 Replies
499 Views
Registered: ‎11-28-2018

Re: Misunderstanding Application timeline

Jump to solution

Partially i solved problem by disabling  "Enable Profiler" for System Run Now processing time is equal to 0.075ms, it's better, but still is much more than 7us (get from Waveform).

Also i builg progect with turned on "Enable Profiler" for System Run. And i see next appication Timeline

App_timeline_system.png

 

 

 

 

 

 

 

 

 

 

 

 

Why there is so big difference between Compute Unit time (0.00804ms) and Kernel Enqueues time (0.239ms) ?

App_timeline_system.png
0 Kudos
Moderator
Moderator
473 Views
Registered: ‎11-04-2010

Re: Misunderstanding Application timeline

Jump to solution

Hi, @ruslan_spb_leti ,

The DDR memory model and the Memory Interface Generator (MIG) model used in
Hardware Emulation are high-level simulation models. These models are good for simulation performance, however they approximate latency values and are not cycle-accurate like the kernels.
Consequently, any performance numbers shown in the profile summary report are approximate, and must be used only as a general guidance and for comparing relative performance between different kernel implementations.

So you cannot compare the time used by kernel in HW-Emu and System run.

Kernel Enqueues: The kernels here should not be confused with the users kernels/compute-unit on the device. By kernels here we mean the NDRangeKernels and the Tasks created by APIs clEnqueueNDRangeKernels() and clEnqueueTask() and these are plotted against the time measured from the host’s perspective. 

 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

461 Views
Registered: ‎11-28-2018

Re: Misunderstanding Application timeline

Jump to solution

Thank you!

0 Kudos