当 运行 来自 github 操作时,aocl 命令无法正常工作
aocl command not working correctly when run from github actions
我正在尝试获取 github 操作以在自托管 运行 中使用英特尔 FPGA。任何时候尝试从主机到 FGPA 的通信都会出现如下错误:
Error initializing DMA: invalid parameter
Error initializing DMA: invalid parameter
Error closing DMA
Error closing DMA
...
aocl mmd alloc failed: Resource temporarily unavailable
aocl mmd alloc failed: Resource temporarily unavailable
aocl mmd alloc failed: Resource temporarily unavailable
如果我 运行 任何 aocl 命令或 运行 任何使用 OpenCL 运行time 环境的应用程序在系统中正常工作,它工作正常。只有在 运行 执行 github 操作时才会失败。
问题是内存锁限制。 systemd 服务的默认值为 64k。它需要是一个很大的数字。将 LimitMEMLOCK=infinity
添加到服务文件,如下所示。
[username@mysystem ~]$ cat /etc/systemd/system/actions.runner.runner-name.mysystem.service
[Unit]
Description=GitHub Actions Runner (runner-name.mysystem)
After=network.target
[Service]
ExecStart=/home/username/.local/bin/myrunner/001/runsvc.sh
User=username
LimitMEMLOCK=infinity
WorkingDirectory=/home/username/.local/bin/myrunner/001
KillMode=process
KillSignal=SIGTERM
TimeoutStopSec=5min
[Install]
WantedBy=multi-user.target
然后重启服务。
我正在尝试获取 github 操作以在自托管 运行 中使用英特尔 FPGA。任何时候尝试从主机到 FGPA 的通信都会出现如下错误:
Error initializing DMA: invalid parameter
Error initializing DMA: invalid parameter
Error closing DMA
Error closing DMA
...
aocl mmd alloc failed: Resource temporarily unavailable
aocl mmd alloc failed: Resource temporarily unavailable
aocl mmd alloc failed: Resource temporarily unavailable
如果我 运行 任何 aocl 命令或 运行 任何使用 OpenCL 运行time 环境的应用程序在系统中正常工作,它工作正常。只有在 运行 执行 github 操作时才会失败。
问题是内存锁限制。 systemd 服务的默认值为 64k。它需要是一个很大的数字。将 LimitMEMLOCK=infinity
添加到服务文件,如下所示。
[username@mysystem ~]$ cat /etc/systemd/system/actions.runner.runner-name.mysystem.service
[Unit]
Description=GitHub Actions Runner (runner-name.mysystem)
After=network.target
[Service]
ExecStart=/home/username/.local/bin/myrunner/001/runsvc.sh
User=username
LimitMEMLOCK=infinity
WorkingDirectory=/home/username/.local/bin/myrunner/001
KillMode=process
KillSignal=SIGTERM
TimeoutStopSec=5min
[Install]
WantedBy=multi-user.target
然后重启服务。