11-30-2018 06:45 PM
I am using Ultrascale+ chip as a accelerator. Linux on arm control the accelerate process.
This accelerator is connected to X86 by PCIE.
Is there any reference code on how to communicate efficiently between X86 and ARM through PCIE bus.
I hope there is a IPC or RPC framwork designed for PCIE communication.
12-03-2018 11:40 AM
Xilinx has developed the Xilinx Runtime (XRT) which is a combination of userspace and kernel driver components. It supports Xilinx and Xilinx partner acceleration cards as well as Zynq/MPSoC. Xilinx Runtime is available on the Xilinx Github. https://github.com/Xilinx
There are some strict requirements on what XRT will support out of the box, however it is open source so you could take a look and see if there are parts that will work for you.
I could help if you provide more information about your system - which Xilinx component are you using? did you design the board yourself? What Xilinx tools are you working with?
Are you looking for a higher level framework?
12-03-2018 02:59 PM
Thanks for your help.
I am using zcu106 now and will design my board after software finish.
I am using petalinux to generate the image and sdk and developing on Ubuntu with sdk.
What heigher level framework is? I am looking for a framework that is effecincy and easy for my software porting.
Currntly my applications are developed for X86 with Centos, each components are communicat with rpc through http, I need to port some applications to Arm and some still run on x86, so I am looking for RPC though PCIE.
My product is Video accelerate card, and as zynq has ARM, so offload some software from x86 to this arm.
12-03-2018 03:13 PM
I just looked at XRT doc on github. I found it only implement the memory operations on PCIE.
But I think I need a much higher layer impletion that can do RPC. That meas I implement some service on my board, and expose lots of API on ARM side, and call each function from X86 side.