XRT icon indicating copy to clipboard operation
XRT copied to clipboard

new a buffer larger or equal than 4G will cause XRT "unable to sync BO: Input/output error"

Open simplelins opened this issue 3 years ago • 6 comments

Hi, I had new a buffer by cl::Buffer buffer0(mContext, CL_MEM_READ_WRITE, size=4G, data=void, &err)), then try to write buffer with mQueue.enqueueWriteBuffer(mBuf_tw, blocking_write, 0, size=2304MB, ptr, null, null), will cause error

[XRT] ERROR: unable to sync BO: Input/output error
[XRT] ERROR: Profiling info not available, make sure profiling is enabled
[XRT] ERROR: Profiling info not available, make sure profiling is enabled
[XRT] ERROR: Operation failed due to earlier error 'unable to sync BO: Input/output error'
[XRT] ERROR: unable to sync BO: Input/output error
terminate called after throwing an instance of 'xrt_xocl::error'
  what():  event 2 never submitted
Aborted (core dumped)

system info '5.4.0-86-generic #97~18.04.1-Ubuntu' XRT build version: 2.11.634 Build hash: 5ad5998d67080f00bca5bf15b3838cf35e0a7b26 Build date: 2021-06-08 22:10:49 Git branch: 2021.1 xilinx shell:xilinx_u250_gen3x16_xdma_shell_3_1 what should I do?

simplelins avatar Jan 11 '22 12:01 simplelins

Hi @simplelins , Buffer 4GB or larger is not supported through XRT. This is also written in the Vitis Documentation: https://docs.xilinx.com/r/en-US/ug1393-vitis-application-acceleration/Buffer-Creation-and-Data-Transfer . So please work with buffer less than 4Gb size. Thanks

uday610 avatar Jan 13 '22 03:01 uday610

so, are there any component that support for Buffer 4GB or larger ? and what's meaning for issue 2075, does it support for some linux kernels version?

simplelins avatar Jan 13 '22 07:01 simplelins

Any ETA to have bigger buffers in XRT?

keryell avatar Jan 13 '22 10:01 keryell

sorry, what's meaning of ETA?

simplelins avatar Jan 13 '22 14:01 simplelins

Hi @simplelins , the lines of code you are referring to simply creating the buffer, but creating the buffer is not the same as using the buffer. As I said officially we dont support more than 4GB buffer means we have not experimented or done any testing for buffer >= 4GB buffer. So as you see you have faced an issue.

We have a plan to support and to official flow testing using =>4G buffer, but that may not happen immediately. Internally we are working on it. I can add a milestone in this GIT issue when we know when we can do that.

uday610 avatar Jan 13 '22 23:01 uday610

sorry, what's meaning of ETA?

Sorry for the obfuscation. :-) https://en.wikipedia.org/wiki/Estimated_time_of_arrival

I mean: "when is it planned for general availability?".

keryell avatar Jan 14 '22 09:01 keryell