Forum Discussion

kmzaja's avatar
kmzaja
Icon for New Contributor rankNew Contributor
7 months ago

aocl_mmd_read() and aocl_mmd_write() for memory movement

Hello,

I am using Intel's oneAPI with my Agilex FPGA accelerator. I need help with something on a lower level of abstraction w.r.t libraries being used in oneAPI.

I need to use MMD API calls for accessing my AFU kernel and the local memory on FPGA. I have been able to access my AFU kernel but I am struggling with accessing the local memory (DDR in this case). Unfortunately, I could not find example codes of MMD APIs and oneAPIs documentation also does not contains much information on this.

Whenever I am trying to read/write into my local memory using MMD APIs, I either get alignment error or segmentation fault. For accessing DDR4, is there a specific buffer/array to use for reading/writing? For example, I am using malloc to create read/write buffers. Is there some other function to use for this.
Also, for my BSP, UVM is disabled. So maybe I cannot use the aocl_mmfd_shared_alloc function call from MMD API.

Thank you in advance and I can share more details if/when required.


Few details:
OS: AlmaLinux
Board: Bittware Agliex7 FPGA board
BSP: OFS based



3 Replies