Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

Heterogeneous Memory Banks in AOCL 13.1

As stated both in the Altera SDK for OpenCL Programming Guide, and also in the Optimization Guide, explicit definition of the global memory type where we want a specific buffer to reside in is a beta feature of the AOCL 13.1.

Following the guides, I tried both defining the preprocessor macros...

# define QDR

__global

__attribute__((buffer_location("QDR")))

__kernel void foo (QDR uint * data, ...

... and also using the __attribute__ in the argument itself, but to no avail. The parser generates the following error:

error: string passed to buffer location attribute is not a valid memory location. The board specification defines available memories as:

__global __attribute__((buffer_location("QDR"))) float2 *restrict foo)

--------------------------------------^

1 error generated.

Error: OpenCL parser FAILED.

Running the aocl version command confirms that I'm using version 13.1.162 of the compiler, so I ask, am I doing anything wrong? Did I miss a step?

6 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I suspect you are using a board that doesn't support this. In order to use heterogeneous memory you need to have a board that contains multiple memory types as well as the board vendor needs to provide hardware files to enable the support. So the compiler is saying "what QDR memory?" because the vendor board files are not telling it that there is a "QDR" memory on the board. So you are not doing anything wrong, it's just the board hardware files lack support what you are requesting. There are OpenCL boards that have multiple memory types on them so it's just a matter of the board vendors to enable those additional memories.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Following your reply, I checked the vendor's specifications (Nallatech PCIe-385 d5), and verified that the board does feature QDR memory!

    Many thanks! ;)
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    That's correct, it has QDR memory on the card but I don't think the board support files have added support for it. I would check with Nallatech to see if they have an update to add QDR support for the D5 card.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks for the update gigi, I forgot about this post after I learned that there is not any QDR on it like I originally thought there was.