Forum Discussion

myg's avatar
myg
Icon for New Contributor rankNew Contributor
10 months ago
Solved

I want to know how to control hyper-optimized handshaking setting

I just start using quartus pro 20.3 to compile on DE10-PRO.

I used prefetch_load in my code and get a error as follow.

Compiler Error: Prefetching LSU is not available when hyper-optimized handshaking is enabled

Then I deleted prefetch_load and turn back into normal global memory access, this error disappeared. But I found than in my compile report, the hyper-optimized handshaking in Kernel Summary is off.

Why I can't apply this feature after cancel prefetch_load lsu? And how can it affect my design.

  • Hi @myg,

    There can be several reasons why hyper-optimized handshaking is "off" even though you are targeting Stratix 10.

    The reason that hyper-optimized handshaking is "off" should be given in the optimization reports.

    Please look for a column called "Hyper-Optimized Handshaking" in the Kernels Summary table of the Summary section of the report.

    By clicking on an entry in this column, you should see the reason appear in the Details pane below. For example, the reason might be:

    • Hyper-optimized handshaking disabled due to instruction in Kernel my_kernel_name

    I hope this helps you find the information you're looking for!

    The most likely performance impact of no hyper-optimized handshaking, is lower achieved Fmax.

    Best regards,

    Jessica

5 Replies

  • Hi @myg,


    Thank you for posting in Intel community forum and hope all is well.

    Just to clarify further, what code are you developing with? Is it RTL or OpenCL?


    Also if you can share more details on the mention prefetch_load method such as the URL of the example design or the document that you are referring to that would be a great help.

    Hope to hear from you soon.


    Best Wishes

    BB



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

      I'm building a platform in OpenCL with RTL embedded. The code worked well with the Arria 10 platform so I tried to used it on stratix 10.

      I used the code below:

      ulong2 a_local = __prefetching_load(&a[i]);
      a_x_local0[0] = a_local.x;
      a_y_local0[0] = (int)a_local.y;
      subparts_to_process = __prefetching_load(&num_subparts[i]);
      And I got an error of conflict between hyper-optimized handshaking and prefetch LSU when using this code, so I change __prefetching_load into normal memory access
      ulong2 a_local = a[i];
      a_x_local0[0] = a_local.x;
      a_y_local0[0] = (int)a_local.y;
      subparts_to_process =num_subparts[i];
      The error disappeared. But in the html report, it shows that hyper-optimized handshaking is still in the status "off".
      The kernel worked independently with no data exchange with other kernels. Why does hyper-optimized handshaking still in status "off" and do that affect the performance of my design?
  • Hi @myg,

    There can be several reasons why hyper-optimized handshaking is "off" even though you are targeting Stratix 10.

    The reason that hyper-optimized handshaking is "off" should be given in the optimization reports.

    Please look for a column called "Hyper-Optimized Handshaking" in the Kernels Summary table of the Summary section of the report.

    By clicking on an entry in this column, you should see the reason appear in the Details pane below. For example, the reason might be:

    • Hyper-optimized handshaking disabled due to instruction in Kernel my_kernel_name

    I hope this helps you find the information you're looking for!

    The most likely performance impact of no hyper-optimized handshaking, is lower achieved Fmax.

    Best regards,

    Jessica

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

      I got no reason appear in the Details pane below when I click that colunm, anyway thanks for your help.

  • Hi @myg,


    Great! Good to know that your doubts has been clarified, with no further clarification on this thread, it will be transitioned to community support for further help on doubts in this thread. Please login to ‘ https://supporttickets.intel.com/s/?language=en_US’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.

    Thank you for the questions and as always pleasure having you here.


    Best Wishes

    BB