Flexio window configuration problem

Hi, I’ve been following the official documentation step by step: creating a window, allocating 64B-aligned memory, registering the MR, and passing the lkey, window_id, and allocated memory address to the device. On the device side, after configuring, I’ve used flexio_dev_multi_window_ptr_acquire to get the dev_ptr.During this process, the code did not report any errors, and I checked whether the return value of the function indicated success at each step.

However, I’m encountering a problem where the data accessed via this pointer on the device side doesn’t match what I wrote on the host side. Conversely, any data written on the device side isn’t visible on the host side either.

I’d really appreciate it if you could offer some insights or guidance on this. I’m happy to provide more detailed code snippets or additional information that might help diagnose the issue.

Thank you so much for your time and consideration.

Best,

Wenxiang

Hello @1246012958,

Thank you for posting your query on our community. Based on the DOCA FlexIO documentation, here are a few points that are worth double-checking when using FlexIO windows:

  1. FlexIO windows mapping external registered memory are not inherently coherent. You need to ensure that memory barriers or write-back operations are used when switching visibility between host and device. The documentation provides examples of using flexio_os_window_write_barrier(), flexio_os_window_read_barrier(), or __dpa_thread_window_writeback() to ensure the data is visible on both sides.

  2. Verify that the window is configured with the correct access flags and that the memory region you registered on the host matches the address and size passed to the device.

For reference, the official documentation covering these points can be found here:

If you need further assistance and if there an active entitlement/support contract in place, please do not hesitate to open a support ticket by logging into the ESP Portal and submitting a new case.

For contracts, please reach out to Networking-Contracts@nvidia.com

Thanks,
Bhargavi