仅对英特尔可见 — GUID: wkf1522961448862
Ixiasoft
1. 关于本文档
2. 引言
3. 入门
4. 安装OPAE 软件包
5. 识别Flash映像和BMC固件
6. 运行FPGA诊断
7. 在非虚拟环境中运行OPAE
8. 在虚拟环境中运行OPAE
9. 面向采用Intel Arria 10 GX FPGA的Intel可编程加速卡的Intel加速堆栈快速入门指南文档存档
10. 面向采用Intel Arria 10 GX FPGA的Intel可编程加速卡的Intel加速堆栈快速入门指南文档修订历史
A. 更新FIM和BMC固件
B. 处理正常的热关机
C. FPGA器件访问权限
D. Memlock限制
E. hugepage设置
F. 解决常见问题(FAQ)
G. 可用于 Intel® Acceleration Stack for Intel® Xeon® CPU with FPGAs 1.2.1 Release的文档
仅对英特尔可见 — GUID: wkf1522961448862
Ixiasoft
8.2. 配置主机上的VF端口
默认情况下,PF控制AFU端口。以下程序将AFU控制转移到VF。转移到VF控制后,在VM上运行的应用程序可以访问AFU。
在多卡系统中,如果只想在单一PCIe器件上配置VF,那么请运行以下命令来查找特定PCIe器件的器件映射:
ls -l /sys/class/fpga/intel-fpga-dev.*样例输出:
/sys/class/fpga/intel-fpga-dev.0 -> ../../devices/pci0000:36/0000:36:00.0/0000:37:00.0/fpga/intel-fpga-dev.0 /sys/class/fpga/intel-fpga-dev.1 -> ../../devices/pci0000:ae/0000:ae:00.0/0000:af:00.0/fpga/intel-fpga-dev.1
要在以下命令中使用PCIe B:D.F (AF:00.0)和B:D.F (37:00.0),请分别使用instance id 1和0替换*。
- 分别运行以下三个命令以导出所需的路径:
export port_path=$(find /sys/class/fpga/intel-fpga-dev.* \ -maxdepth 1 -follow -iname intel-fpga-port.*)
export link_path=$(readlink -m /$port_path/../)
export pci_path=$link_path/../../
- 使用fpgaport工具释放由PF控制的端口:
sudo fpgaport release /dev/intel-fpga-fme.* 0
- 使能SR-IOV和VF。每个VF有1个AFU端口:
sudo sh -c "echo 1 > $pci_path/sriov_numvfs"
- 查找VF器件的附加器件编号:
lspci -nn | grep :09c[45]
样例输出:04:00.0 Processing accelerators [1200]: Intel Corporation Device [8086:09c4] 04:00.1 Processing accelerators [1200]: Intel Corporation Device [8086:09c5]
lspci显示一个附加器件编号09c5。这是一个分配给VM的VF器件。PF的原始总线和器件编号保持为09c4。
请注意:在此示例中,VF器件的Domain:Bus:Device.Function (BDF)符号是:000:04:00.1。将此BDF替换成系统中相应的BDF。
- 加载vfio-pci驱动程序:
sudo modprobe vfio-pci
- 解除VF器件与其驱动程序的绑定:
sudo sh -c "echo 0000:04:00.1 > \ /sys/bus/pci/devices/0000:04:00.1/driver/unbind"
- 查找VF器件的供应商和器件ID:
lspci -n -s 04:00.1
样例输出:
04:00.1 1200: 8086:09c5
- 将VF绑定到vfio-pci驱动程序:
sudo sh -c "echo 8086 09c5 > \ /sys/bus/pci/drivers/vfio-pci/new_id"