我认为问题出在 AMD OpenCL 驱动程序上,因为我只能在配备 AMD 主板的系统上复制该错误。NVidia 系统上不会出现此问题。当我发现偶尔会无缘无故地耗尽磁盘空间时,我调查了这个问题。我进入 /var/log 并查看了 syslog。我注意到的第一件事是日志大小非常大。搜索“error”,发现同样有 1,000,000 个错误:
Jan 23 23:07:17 jysdualxeon kernel: [ 381.590086] [drm:amdgpu_cs_ioctl [amdgpu]] *ERROR* Failed to initialize parser -125!
重新启动可以停止写入错误,除了一切都很慢之外,系统似乎运行正常。
我可以按如下方式重现错误:对于运行 OpenCL 应用的程序,我运行工具“clinfo”。在错误出现之前,可能需要运行多达 3 次。通常 clinfo 需要 1-2 秒才能完成。对于使用 OpenCL 的另一个应用,clinfo 程序会挂起。它可能需要 2 分钟才能完成并给出报告。报告中没有问题,只是生成报告的时间太长了。查看系统日志,我发现它在几秒钟内就大量增加了
-rw-r----- 1 syslog adm 15171032 Jan 23 23:08 syslog
-rw-r----- 1 syslog adm 22775421 Jan 23 23:13 syslog
-rw-r----- 1 syslog adm 29911745 Jan 23 23:14 syslog
-rw-r----- 1 syslog adm 30435769 Jan 23 23:14 syslog
-rw-r----- 1 syslog adm 30711297 Jan 23 23:15 syslog
使用我的 128GB 小型固态硬盘,除非我删除文件,否则系统会在几天内死机
[编辑] 另外,当发生这种情况时,实际使用 OpenCL 的应用程序就会死亡。
答案1
我猜这是报告 OpenCL 错误的地方: https://github.com/KhronosGroup/libclcxx