2

I am using the AMD bus-addressable memory extension to write from an FPGA to a GPU and vice versa. In the first case, an OpenCL buffer is created with the CL_MEM_BUS_ADDRESSABLE_AMD flag set. However, the largest size that I can allocate is much less than what is reported for CL_DEVICE_MAX_MEM_ALLOC_SIZE.

How can I find the maximum allocation size of such a buffer?

matthias
  • 2,161
  • 15
  • 22
  • Did you ever figure this out, as I'm seeing the same issue? We normally use two bus-addressable buffers that are 4Mb each, but we decided to try a much larger value (100Mb) during some code refactoring, but it fails with CL_MEM_OBJECT_ALLOCATION_FAILURE. We allocate several other "regular" GPU buffers just fine that are much larger than this, and we're nowhere near the 8Gb on the card. It feels like there is some kind of "hidden" size limit being applied to these bus-addressable buffers. – Andrew Stephens Jun 23 '23 at 13:16
  • 1
    No, unfortunately not. We tweaked it until we found a suitable size for the problem we had and then essentially hardcoded it. A real pity to be honest. – matthias Jun 26 '23 at 06:59

0 Answers0