Device Only Buffer XRT (XRT Native API’s)¶
This example will demonstrate how to create buffers in global memory which are not mapped to host.
KEY CONCEPTS: Device only buffer
KEYWORDS: xrt::bo::flags::device_only
This example illustrates the use of device_only
Buffer which is
meant to be used only by the kernel.In this example we create buffer
in global memory which are not mapped to host.
xrt::bo::flags flags = xrt::bo::flags::device_only;
auto bo_dev_only = xrt::bo(device, size_in_bytes, flags, krnl_mmult.group_id(0));
Using device_only flag we mention that the buffer is device only buffer and the flag is passed as argument during buffer creation.
EXCLUDED PLATFORMS:
All NoDMA Platforms, i.e u50 nodma etc
Xilinx_vck190_base_dfx_202310_1
DESIGN FILES¶
Application code is located in the src directory. Accelerator binary files will be compiled to the xclbin directory. The xclbin directory is required by the Makefile and its contents will be filled during compilation. A listing of all the files in this example is shown below
src/host.cpp
src/madd.cpp
src/mmult.cpp
Access these files in the github repo by clicking here.
COMMAND LINE ARGUMENTS¶
Once the environment has been configured, the application can be executed by
./device_only_buffer -x <device_only_buf XCLBIN>