Forum Discussion

Björne2's avatar
Björne2
Icon for New Contributor rankNew Contributor
2 years ago
Solved

Banking local memory causes nondeterminism

A central part of my design is a local array declared as follows: float arr[1 << 16]; This works well, but to increase throughput I'm trying to bank it as follows:

float arr[1 << 16] __attribute__((numbanks(8), bankwidth(4)));

So 8 banks with every float element interleaved. This works fine on the emulator, but causes nondeterministic when I synthesize the design. What could be the reason for this? I'm using Quartus 21.2 and an Agilex 7 board with product code B2E2_8GBx4. If I'm doing something wrong can you please suggest a workaround?

  • Hi Björne2,


    Thanks for the feedback.

    I will close the thread since the issue has been resolved on your side.


    Thanks.

    Regards,

    Aik Eu


3 Replies

  • aikeu's avatar
    aikeu
    Icon for Regular Contributor rankRegular Contributor

    Hi Björne2,


    May I get more information about the issue that you are facing. Is it related to OneAPI?


    Thanks.

    Regards,

    Aik Eu


    • Björne2's avatar
      Björne2
      Icon for New Contributor rankNew Contributor

      Thanks for the reply. I have to admit that I was mistaken. It was a bug in my code and not in the OpenCL compiler.

  • aikeu's avatar
    aikeu
    Icon for Regular Contributor rankRegular Contributor

    Hi Björne2,


    Thanks for the feedback.

    I will close the thread since the issue has been resolved on your side.


    Thanks.

    Regards,

    Aik Eu