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的文档
B. 处理正常的热关机
注:
- 认证合格的OEM服务器系统可为标准工作负载提供足够的散热,并且pacd的使用是可选的。
- 关于使用pacd的详细信息,包括可能会导致系统意外重启的详细信息,请参考OPAE网页上的 pacd documentation 。
Intel® FPGA PAC Daemon (pacd)是一个可用于帮助保护服务器免于因硬件达到不可恢复的传感器上限或下限而崩溃的程序。pacd能够监控由Board Management Controller报告的23 个传感器中的任何一个。pacd可以作为一个守护程序(daemon)或者systemd服务独立运行。OPAE tools extra package安装后,pacd存放在OPAE二进制文件目录中(默认为: /usr/bin ),同时配置文件和服务文件(pacd.conf和pacd.service)也会分别存放在此目录中。
启动时,pacd将其阈值设置为恒定的-5度或低于BMC阈值的功率5%。这将Graceful Thermal Shutdown责任转移给pacd。
pacd定期读取传感器值,如果读取的值超过阈值,那么它将向所有正在运行的进程发送SIGHUP信号,并使主机无法访问此板级。守护程序(daemon)等待由pacd.conf中的-c指定的可配置时间(如下所述)来冷却此板级。经过此可配置的等待时间后,pacd服务将对指定的AFU进行编程。确保AFU主机应用程序监视SIGHUP信号并退出。
注: 部分重配置不能从虚拟机进行启动。因此,pacd不能在虚拟机上运行。
可以按照以下方式将pacd设置为systemd服务(使用一个带提升特权的shell (sudo)):
- 编辑pacd.conf文件,使用适合FIM的一列AFU对 “DefaultGBSOptions” entry进行更新。使用到每个AFU文件的完整的绝对路径,并在每个文件名前加上‘-n’。
sudo vim /usr/bin/pacd.conf
Edit entry:DefaultGBSOptions=-n /home/<username>/intelrtestack/\ a10_gx_pac_ias_1_2_1/hw/samples/nlb_mode_3/bin/nlb_mode_3_unsigned.gbs
注:可选的设置包括:- PCIe地址(例如:-S, -B, -D, -F),pacd监控所有与指定的PCIe地址组件匹配的 Intel® FPGA PAC。例如,如果仅指定-B 5,那么PCIe bus 5上的所有 Intel® FPGA PAC都会被监控。
- 传感器阈值—此阈值是全局阈值,因此指定-T 11:95.0:93.0将监控所有所选 Intel® FPGA PAC上的sensor 11。当此阈值超过95.0时,会导致通过pacd.conf中的-n指定的默认比特流被重新编程(PR)。传感器的阈值在降至93.0以下之前会被认为是触发的。
- 您可以通过以下两种方法来指定冷却时间:
- 更改CooldownInterval=<time period>
- 对pacd.conf中的ThresholdOptions设置 -c <time period>,或者
如果两个都设置了,那么ThresholdOptions的 -c <time period>设置优先。
- 通过运行以下命令可以找到Sensor Number:
sudo fpgainfo bmc
检查其余的选项变量,并根据您的系统进行适当调整。
- 将pacd.conf复制到默认的systemd服务配置目录(通常为 /etc/sysconfig )。
RHEL:
sudo cp /usr/bin/pacd.conf /etc/sysconfig/
Ubuntu:sudo cp /usr/bin/pacd.conf /etc/default
- 编辑pacd.service文件以更新“EnvironmentFile” entry来反映 pacd.conf文件的复制位置。在路径名前加一个短划线‘-‘,将路径指定为绝对路径。
sudo vim /usr/bin/pacd.service
Edit entry:
RHEL:EnvironmentFile=-/etc/sysconfig/pacd.conf
Ubuntu:EnvironmentFile=-/etc/default/pacd.conf
- 将pacd.service复制到/etc/systemd/system/pacd.service。这使pacd对systemd可见。
RHEL:
sudo cp /usr/bin/pacd.service /etc/systemd/system/
Ubuntu:sudo cp /usr/bin/pacd.service /lib/systemd/system/
- 启动pacd,作为systemd服务。
注: 如果命令不能在普通用户模式下运行,请使用sudo。
systemctl daemon-reload
systemctl start pacd.service
- 可选:要使pacd在引导时重新启动,请执行
systemctl enable pacd.service
要检查pacd是否已经启动,并检查状态和操作,请查看日志文件(在“LogFile”行上的pacd.conf中指定)。
请运行以下命令来查看systemctl命令的完整列表:systemctl -h
- 请运行以下命令来验证服务是否运行:
systemctl status pacd.service
- 停止服务:
systemctl stop pacd.service