Hello.
Is it possible to access the FPGA from multiple threads or processes ?
- Can I attach to the same FPGA from multiple processes at once?
- Can I open a DMA queue from two or more processes and transfer data to/from the same FPGA ?
- Can I use fpga_pci_peek() / fpga_pci_poke() from multiple threads in a process attached to the FPGA ?
Example of utilization :
I have 4 accelerators on the FPGA, each using a DDR4 memory and each having their own memory space (for control through OCL bus and for DDR4 access through PCIS bus) in the memory map.
Can 4 different processes each use an accelerator through the provided interfaces safely ?
Each attach to the same FPGA card on the same slot, each opening a DMA queue, or peeking/poking the OCL bus.
I understand the PCIS and OCL bus will be shared and that a process may have to wait for it to be ready for a call to e.g., to fpga_pci_poke() to be completed.
Is this situation possible / safe ?
Thank you for your time.
Regards.
Rick
Edited by: rwe on Jun 26, 2019 5:55 AM
Added example.