Visible to Intel only — GUID: xvz1503620583617
Ixiasoft
1.1.1. FPGA Management Engine (FME)
1.1.2. Port
1.1.3. Accelerator Function (AF) Unit
1.1.4. Partial Reconfiguration
1.1.5. FPGA Virtualization
1.1.6. Driver Organization
1.1.7. Application FPGA Device Enumeration
1.1.8. PCIe Driver Enumeration
1.1.9. FME Platform Device Initialization
1.1.10. Port Platform Device Initialization
1.1.11. FME IOCTLs
1.1.12. Port IOCTLs
1.2.1. FME Header sysfs files
1.2.2. FME Thermal Management sysfs files
1.2.3. FME Power Management sysfs files
1.2.4. FME Global Error sysfs files
1.2.5. FME Partial Reconfiguration sysfs files
1.2.6. FME Global Performance sysfs files
1.2.7. Port Header sysfs files
1.2.8. Port AFU Header sysfs files
1.2.9. Port Error sysfs files
Visible to Intel only — GUID: xvz1503620583617
Ixiasoft
1.1.5. FPGA Virtualization
To enable accessing an accelerator from applications running in a VM, the respective AFU’s port needs to be assigned to a VF using the following steps:
- The PF owns all AFU ports by default. Any port that needs to be reassigned to a VF must first be released from the PF through the FPGA_FME_PORT_RELEASE ioctl on the FME device.
- Once N ports are released from the PF, the command below can be used to enable SRIOV and VFs. Each VF owns only one port with AFU.
echo N > $PCI_DEVICE_PATH/sriov_numvfs
- Pass through the VFs to VMs.
- The AFU under VF is accessible from applications in VM (using the same driver inside the VF).
Note: An FME cannot be assigned to a VF, thus PR and other management functions are only available through the PF.