Forum Discussion

ADua0's avatar
ADua0
Icon for Occasional Contributor rankOccasional Contributor
6 years ago

Intel opencl Fpga kernel after compilation

Hi everyone!

My design have multiple kernel and I want to see which kernel utilizes major resources, is there any way I can do that after kernel is compiled . I need that as initial report generated and final utilization have different resource utilization

10 Replies

    • ADua0's avatar
      ADua0
      Icon for Occasional Contributor rankOccasional Contributor

      Hi I want to see the utilization after the compilation is completed no the initial one .

    • GBusl's avatar
      GBusl
      Icon for New Contributor rankNew Contributor

      I had this issue before and this really help me, I wish I asked you at that time.. Do you think it is 100% accurate? any way for me it is just fine to give me some idea about the utilization.

  • HRZ's avatar
    HRZ
    Icon for Frequent Contributor rankFrequent Contributor

    Using Quartus v18.1 and later (and maybe also v18.0 but I didn't check), when placement and routing is done, the summary page of the HTML report is updated with post-fit area utilization per kernel; you can refer to those numbers. However, even though the initial area estimation is inaccurate, the order of area usage by different kernels will likely not change after placement and routing.

  • ADua0's avatar
    ADua0
    Icon for Occasional Contributor rankOccasional Contributor

    I am using 18.0 and reports does not get update, I see the difference in my Ram Blocks( increased by 20 %) and logic utilization ( increased by 10 %) which I checked from Acl_quartus_report.txt, so I was wondering which kernel is causing it to increase the utilization. Any idea about that ?

    • HRZ's avatar
      HRZ
      Icon for Frequent Contributor rankFrequent Contributor

      That doesn't mean it is a specific kernel among your kernels that is causing the difference. The area estimation has inaccuracies associated with it as a whole, and the actual area utilization of every kernel in your design will be always different from the estimation. The area estimation is just supposed to give the user some idea of whether their kernel will fit on their target device or not, and what resources are expected to be used by each part of the design. There is no point in trying to find the reason for the differences between the area estimation and actual post-place-and-route utilization, and the actual area utilization in your case being higher than the estimation does not mean there is something wrong with your design that needs fixing.

      • ADua0's avatar
        ADua0
        Icon for Occasional Contributor rankOccasional Contributor

        Okay, I understand that after placing and routing as a whole, logic utilization might be high but for Ram blocks utilization is what is confusing for me. I thought Ram blocks are used when you have local memory buffer, or Dram Ports( I might be wrong here, ), so why there is such a difference in Ram block utilization ? can you clarify that